Java01次实验

Java01次实验报告


1. 控制台下编译运行




???为什么呢???百度上找到的答案都试过了,但还是不行,我也没办法了。

2. Eclipse使用

  • 新建项目(Project)learnjava

  • 新建类Main,带package。

  • 使用Alt+/进行自动完成(sysout, for, while, switch, 已有变量名自动补全)

  • 快捷键:Ctrl+F11,运行。

  • 配置Run Configurations,在Eclipse中实现控制台参数输入。

package Main;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		for(int i=0;i<args.length;i++)
		{
			System.out.println(args[i]);
		}
	}

}


  • 观察:通过Eclipse的Package Explorer观察项目的录结构,查看对应的目录结构。
  • 观察:项目的src目录与bin目录。尝试命令行下运行bin目录中的.class文件。

3. PTA入门

1. 1.1 jmu-Java-01入门-第一个PTA上Java程序

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);//声明输入
        while(input.hasNextInt()){//多组输入的控制条件
        int A=input.nextInt();//a,b输入
        int B=input.nextInt();

		int res=0;//初始化结果
		int flag=0;//用于判断是否打印过了,避免重复打印
		
		if(A<0)//需要转化成绝对值
		{
			A=-A;
			if(A>1000)//超过1000,打印
			{
				System.out.println("|a|>1000");
				flag=1;
			}
			else //未超过1000,从绝对值转化回原来的数,相加
			{
				A=-A;
				res=A+B;
			}
		}
		else//正数不需要绝对值转化,直接判断
		{
			if(A>1000)//超过1000,打印
			{
				System.out.println("|a|>1000");
				flag=1;
			}
			else //未超过1000,相加
			{
				
				res=A+B;
			}
		}
		if(flag==0)
		{
			System.out.println(res);
		}
	}
        }
	}

本题总结

  1. 第一次接触Java程序,有很多地方并没有用到Java自带的库函数,而是依旧沿用C语言的写法,有很多不足。
  2. 首先先判断数字是否是正数,不是则去符号改为绝对值,然后判断是否大于1000,大于则输出,不大于则相加;正数同理。

2. 1.2 jmu-java-01入门-基本输入


import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);//声明输入
        while(input.hasNextInt()){//多组输入的控制条件
        int A=input.nextInt();//a,b输入
        int B=input.nextInt();

        int res=0;
        res=A+B;
        
        System.out.println(res);
		
        }
	}
}

本题总结
基本上沿用了1.1的代码

3. 1.3 jmu-Java-01入门-取数字

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextInt()){
            String str = scanner.nextLine();//申明输入字符串
            int num = Integer.parseInt(str);//字符串改为int型
            if(num >= 10000 && num <= 20000)//按照题目要求进行判断条件
            {//该条件下需要输出二进制,八进制,十六进制
                System.out.println(Integer.toBinaryString(num) + "," + Integer.toOctalString(num) + "," + Integer.toHexString(num));
                //调用Java中自带的转为不同进制的库函数,进行直接转换
            }
            else 
            {
                int sum = 0;//初始化结果
                for (int i = 0; i < str.length(); i++)
                {
                    if(str.charAt(i) == '-')
                    {
                        continue;//如果该字符为负号,则跳过这一次循环,进行下一次循环
                    }
                    System.out.print(str.charAt(i) + " ");//提取数字并且在后面添加一个空格
                    String s = new Character(str.charAt(i)).toString();//返回表示给定 Character 值的 String 对象。获得的结果通常是长度为 1 的字符串,其组件是表示 Character 对象的原始 char 值
                    sum += Integer.parseInt(s);//将 String 转化为十进制整数,然后相加
                }
                System.out.println(sum);

            }
        }
    }
}

本题总结

  1. 这题写的十分艰难,首先是不知道简单的转化为不同进制的方法,方法为自己写不同的单独的函数进行转换 使用Java中自带的库函数,要熟悉基本的库函数。其次还是不知道库函数的原因,导致后面的取数字也写的很艰难。
  2. ??有关于这两句代码,我不是很理解
Character(str.charAt(i)).toString();//返回表示给定 Character 值的 String 对象。获得的结果通常是长度为 1 的字符串,其组件是表示 Character 对象的原始 char 值
sum += Integer.parseInt(s);//将 String 转化为十进制整数,然后相加

4. 1.4 jmu-Java-01入门-取数字浮点数

import java.util.Scanner;
//FloatingPoint
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);//输入
		while (true) {
			String s = sc.nextLine();
			char[] ch = s.toCharArray();//toCharArray() 方法将字符串转换为字符数组。
            //转化为数组,就有了下标,可以取数字了
			int sum = 0;//初始化结果
			for (int i = 0; i < ch.length; i++) 
            {
				if (ch[i] == '-'|| ch[i] == '.') 
                {
                     continue;
				} else {
					//将字符char类型转换成int类型
					int temp = Integer.parseInt(String.valueOf(ch[i]));
					sum += temp;
				}
			}
			System.out.println(sum);
		}
	}
}

本题总结

  1. 使用了新的思路,发现转化成数组进行取数字会更容易,因为有下标的存在。

4. 其他任务

5. 博客园与Markdown

本实验报告尝试使用了Markdown格式

posted @ 2022-09-03 09:26  网络2112许恒欣=w=  阅读(85)  评论(1)    收藏  举报