实验一java开发环境_20165228 实验一 Java开发环境的熟悉

20165228 实验一 Java开发环境的熟悉

一、实验内容及步骤

(一)使用JDK编译、运行简单的Java程序

命令行下Java程序开发 1.用VrtualBox打开Linux虚拟机

5425bef48629aa17f5585a1f447eb9f8.png 2.使用Alt+Ctrl+T来打开命令行

3b976c355e3ee77f091f51bf30f24196.png 3.使用mkdir java创建一个名为java的目录,使用cd java进入该目录

e80bfb7e6e35128ed940645b83477666.png 4.使用mkdir 20165228创建名为学号的目录,使用cd 20165228进入该目录

a28a926d6380a2d8f76ac0c2ea6e7d63.png 5.在目录20165228下创建第一个实验目录,并进入该目录

eecff8d1f7b640b6067bfcdd5c5b516a.png 6.创建相应的bin和src文件夹来对.java和.class进行分类

53cb563364dd2b8b1d53630ecf6fa437.png 7.使用vim Hello.java来编辑该程序,编辑完成后,使用mv Hello.java src,将编辑好的程序移动到事先创建的src文件夹下

ea943f813babf78a080b7a19e6d19220.png

259964a5dfee7c6592033ce9fd05b362.png 8.使用javac -d bin src/Hello.java编译程序,并将得到的class文件输出到bin目录下。然后使用java -cp bin szk.Hello运行带包的程序

de5779b1e95ba70969ae333eb7578305.png

(二)IDEA下Java程序开发、调试

1.进入IDEA创建项目后,右键src-->New-->Java class

a94d373653f560f3d03931b539b3acf4.png 2.输入HelloJDB,选择OK

4cf3ffca1483f24ef8521df39c9a6f6f.png 3.输入代码并点击run(快捷键Alt+Shift+F10)

88dd68c0c81b150d2445520ed0e48558.png 4.在第6行设置断点后,进行Debug(快捷键Alt+Shift+F9),程序会运行到第6行时截止,可以观察到此时的各个变量值的情况

dadd7fc79c36caddb45694e89bd53b88.png

b234fc9ba317bf85ae3c078455a4db53.png 5.此时可以进行Step into(快捷键F7)和Step over(快捷键F8)继续单步执行

以下是其区别 step into(快捷键F7):单步执行,遇到子函数就进入并且继续单步执行 step over(快捷键F8):是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步 step out(Shift+F8):当单步执行到子函数内时,用step out就可以执行完子函数余下部分,并返回到上一层函数。

b0709ca82cf4bcbf739be4e4b9faa954.png 6.在第9行再设置一个断点,使用Resume Program(快捷键F9)来跳过已确认没有问题的代码段

417df4df34373bea5b121aa9ff3acc5b.png 7.设置条件断点,然后运行,得到在该条件下的结果

0c84166e758b8b0fc8a84d7a11f7d2b8.png

eefbd35d5f2d986a9a62a709f70c876c.png

(三)练习:实现简单四则运算(能支持分数,加减乘除,支持括号),并进行测试(正常情况,异常情况,边界情况)

代码如下:

import java.util.Scanner;

import java.math.BigDecimal;

public class Calculator {

public static void main(String[] args) {

String name1="+";

String name2="-";

String name3="*";

String name4="/";

Scanner scanner=new Scanner(System.in);

System.out.printf("选择四则运算:");

String str=new String(scanner.nextLine());

if(name1.equals(str)){

System.out.printf("请输入需要运算的两个数字,以空格分割:");

BigDecimal a=new BigDecimal(scanner.nextFloat());

BigDecimal b=new BigDecimal(scanner.nextFloat());

System.out.printf(a+"+"+b +"结果是%f\n",a.add(b));

}

else if(name2.equals(str)){

System.out.printf("请输入需要运算的两个数字,以空格分割:");

BigDecimal a=new BigDecimal(scanner.nextFloat());

BigDecimal b=new BigDecimal(scanner.nextFloat());

System.out.printf(a+"-"+b +"结果是%f\n",a.subtract(b));

}

else if(name3.equals(str)){

System.out.printf("请输入需要运算的两个数字,以空格分割:");

BigDecimal a=new BigDecimal(scanner.nextFloat());

BigDecimal b=new BigDecimal(scanner.nextFloat());

System.out.printf(a+"*"+b +"结果是%f\n",a.multiply(b));

}

else if(name4.equals(str)){

System.out.printf("请输入需要运算的两个数字,以空格分割:");

BigDecimal a=new BigDecimal(scanner.nextFloat());

BigDecimal b=new BigDecimal(scanner.nextFloat());

System.out.printf(a+"/"+b +"结果是%f\n",a.divide(b));

}

else System.out.printf("输入错误");

}

}

命令行调试

7dc078bc36c6ed2d534050327aa16516.png

正常情况:

e646cc4e06e335a48d241cc2f5d4e7cf.png

异常情况:

d91d8075547817645f806af5303c3300.png

IDEA调试 正常情况:

126d41ecbd629d44f225dc1b30c189c0.png

异常情况:

4f7dcbb2abbc2c9e42ff3f620fd60aba.png

二、实验中遇到的问题

问题1:在设计完代码后, 调试时提示“java.lang.ClassNotFoundException: Calculator” 解决方法: 1.确认你的类库在系统的CLASSPATH下面,如果是Tomcat,则可以放在tomcat/lib/目录下面。 2 删除重复的类库,只保留最新的

问题2:用IDEA调试代码时,会提示找不到主类,让我很疑惑。因为命令行调试时完全正常 解决方法: IDEA环境的问题,在项目的project structure 中,先将项目指定JDK ,然后在项目的PATH 中,将path修改为跟当前项目在一个路径下

三、实验体会与总结

前面的实验部分,巩固了前几周娄老师在课上强调的在目录下编译和运行子目录下的程序以及带包程序的运行知识。

对于后面的练习,带括号的运算对我现在的水平来说是不容易理解的,所以我只写了一个普通的四则运算程序。

由于未能想到四则运算的边界,所以我也没有测试其边界值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值