20155301 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
20155301 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
一、实验内容及步骤
(一)使用JDK编译、运行简单的java程序
命令行下的程序开发
步骤:打开cmd,建立HelloWorld文件夹,在文件夹下面建立java文件。进入java文件开始编写程序。
(二)使用IDEA编辑、编译、运行、调试Java程序
1、新建「HelloJDB」类,输入如下代码:
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入名字:");
String name=new String(scanner.nextLine());
System.out.println("Hello"+name);
}
}
2、在需要设置断点的一行左侧单击鼠标,出现红色圆点。比如如下在第六行设置了断点,
在上方Run菜单找到Debug...进行单步调试:
截止到断点运行结果如下:
二、练习:实现四则运算。
『要求』:通过命令行和IDEA两种方式实现,在IDEA下练习调试程序。
设计思路:
1.对于四则运应采用BigDecimal进行实现。
2.接受用户输入并进去相应的程序段。
代码如下:
import java.util.Scanner;
import java.math.BigDecimal;
public class sizeyunsuan {
public static void main(String[] args) {
String name1="加法";
String name2="减法";
String name3="乘法";
String name4="除法";
Scanner scanner=new Scanner(System.in);
System.out.printf("开始四则运算%n");
System.out.printf("选择加法、减法、乘法、除法:");
String str=new String(scanner.nextLine());
System.out.printf("请输入数字,两数字以空格分割:");
if(name1.equals(str)){
BigDecimal a=new BigDecimal(scanner.nextFloat());
BigDecimal b=new BigDecimal(scanner.nextFloat());
System.out.printf("结果是%f%n",a.add(b));
}
else if(name2.equals(str)){
BigDecimal a=new BigDecimal(scanner.nextFloat());
BigDecimal b=new BigDecimal(scanner.nextFloat());
System.out.printf("结果是%f%n",a.subtract(b));
}
else if(name3.equals(str)){
BigDecimal a=new BigDecimal(scanner.nextFloat());
BigDecimal b=new BigDecimal(scanner.nextFloat());
System.out.printf("结果是%f%n",a.multiply(b));
}
else if(name4.equals(str)){
BigDecimal a=new BigDecimal(scanner.nextFloat());
BigDecimal b=new BigDecimal(scanner.nextFloat());
System.out.printf("结果是%f%n",a.divide(b));
}
else System.out.printf("输入不合法");
}
}
三、实验过程中遇到的问题
在接受用户输入的时候
if String name=="加法"
是无法通过运行的,因为我们知道String是建立一个对象,只有用户的输入和字符串“加法”指向同一个对象的时候才成立,但显然所指的并不是同一个对象,所以后面改成了
String name1="加法";
String name2="减法";
String name3="乘法";
String name4="除法";
...;
if(name1.equals(str));
...;
else if(name2.equals(str));
...;
else if(name3.equals(str));
...;
else if(name4.equals(str));
....;
程序能够成功运行。