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);
}
}
}
}
本题总结
- 第一次接触Java程序,有很多地方并没有用到Java自带的库函数,而是依旧沿用C语言的写法,有很多不足。
- 首先先判断数字是否是正数,不是则去符号改为绝对值,然后判断是否大于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);
}
}
}
}
本题总结
- 这题写的十分艰难,首先是不知道简单的转化为不同进制的方法,方法为
自己写不同的单独的函数进行转换使用Java中自带的库函数,要熟悉基本的库函数。其次还是不知道库函数的原因,导致后面的取数字也写的很艰难。 - ??有关于这两句代码,我不是很理解
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);
}
}
}
本题总结
- 使用了新的思路,发现转化成数组进行取数字会更容易,因为有下标的存在。
4. 其他任务
5. 博客园与Markdown
本实验报告尝试使用了Markdown格式




浙公网安备 33010602011771号