20172324 2017-2018-2 《程序设计与数据结构》实验1报告
20172324 2017-2018-2《程序设计与数据结构》实验1报告
课程:《程序设计与数据结构》
班级: 1723
姓名: 曾程
学号:20172324
实验教师:王志强
实验日期:2018年3月21日
必修/选修: 必修
一、实验内容
- IDEA 简易教程,包括编译,调试(断点、单步执行)
- Eclipse 内容换成IDEA
- JDK安装测试
- 实验课上完成PP2.5,PP3.3,PP3.5,PP3.8
二、 实验过程及结果
首次在windows里下载了JDK,因为那天知道得比较晚...所以知道了应该下载在windows里而不是Linux里。不过下载得时候发现有两个目录需要填,没有看得太认真就都放在一起了,结果提示无法安装,开始还以为是网络问题,后来仔细看了IDEA中的教程明确说明了JDK和JRE不能放在同一个根目录里会出错,才更改过来之后成功进行安装。而且汲取了同学们下载后找不到自己下载的jdk的经验,所以当时牢牢记住了安装路径!安装IDEA的时候提示需要购买...结果就在老师发邀请码之前的上tb买了感觉亏了学习了IDEA的快捷键比如psvm
就是public static void main(String[] args)
sout
就是System.out.println()
过程真的方便了很多。
三、实验过程中遇到的问题和解决过程
- 问题1:在调试的时候我只要一按快捷键就会出现和电脑有关的东西..比如F7本来是跳入方法实现的,结果我一按电脑设置就出来了。
- 问题1解决方案:应该在带着Fn键一起按。
- 问题2:pp3_5是关于计算两点距离c的代码,最后一个命令要输出从c的值System.out.println(“c = ”);后等于符号后面为空白。运用单步执行检查也没有看出问题来。
- 问题2解决方案:应该是
System.out.println(“c = ”+ c)
要注意+c,语法没有问题所以单步调试没有出现错误提示。 - 问题3:pp3_3
- 问题3解决方案:前面三个数都要求不能出现8和9,我实在想不到什么办法,就只能定义三个变量,命令三个变量都要都是0-7之间的随机数,再用+号把字符串连接起来组成前三个书。中间的4位数我就按照老师给的方法生成0~455+100的随机数。不过这样就是不能输出小于100的值,附上学长编写的简便代码
public class telephonenumber {
public static void main(String[] args) {
DecimalFormat decimalFormat = new DecimalFormat("000");
DecimalFormat decimalFormat1 = new DecimalFormat("0000");
Random random = new Random();
int num = random.nextInt(8);
int num1 = random.nextInt(8);
int num2 = random.nextInt(8);
int num3 = random.nextInt(656);
int num4 = random.nextInt(10000);
System.out.println("电话号码:" + num + num1 + num2 + "-" + decimalFormat.format(num3) + "-" + decimalFormat1.format(num4));
}
}
- 问题4:在做两点坐标的时候,我看之前的point类定义的就是坐标点,结果根据提示一直都存在语法错误。
- 问题4解决方案:最后还是按照Math方法一步一步的求两点距离,然后参考百度上一个已知点求距离的编写了一个需要System.in距离的代码
import java.util.Scanner;
public class Point {
Scanner scan = new Scanner(System.in);double x1,x2,y1,y2,d;
Point(){//构造方法
this.x1 = x1;
x1 = scan.nextDouble();
this.x2 = x2;
x2 = scan.nextDouble();
this.y1 = y1;
y1 = scan.nextDouble();
this.y2 = y2;
y2 = scan.nextDouble();
}
void TestPoint(){```
d = Math.sqrt((x1 - x2)(x1 - x2) + (y1 - y2)(y1 - y2));
System.out.println("x1 = "+x1);
System.out.println("x2 = "+x2);
System.out.println("y1 = "+y1);
System.out.println("y2 = "+y2);
System.out.println(d);
}
public static void main(String[] args) {
Point p = new Point();
p.TestPoint();
}}
四、其他(感悟、思考等)
emmm多参考API文档,真的很有用。多背单词