标签:
1. 学会了```的用法 一开始并没有成功,后来发现是因为输入法没有切换成英文,今后这样的问题要避免出现。——20145106
2.问题:教材86页,Guess的代码,猜数字,不知道原先没有设定好一个数字,为什么可以在0-9之间猜中一个数
解答:百度了(Math.random()10)这行代码的意思,知道了(Math.random())的意思是在[0,1)之间随机产生一个数字,10,所以变成了[0,10)之间随机产生一个数字,所以可以进行猜数字
——20145123
3.IntegerCache.low默认值是-128,IntegerCache.high默认值是127(这不是出现得问题,但是一度记错范围)——20145123
!!!4.问题:true和false的判定,不能正确的根据代码判断出是ture还是false,这个问题目前还没解决——20145123
5.问题:%2d的意义
解答:百度得知输出为2位的固定位宽——20145123
6.看书上的注释只知道new int[2][]是声明arr参考的对象会有两个索引,但是长度不同的数组时怎么排列的不是很明白。看下面的循环语句应该是将两个已定义长度数组的值从行到列排序然后输出他们的值。——20145122
!!!7.不太理解为什么要进行基本类型打包,基本类型打包有什么作用?——20145120
8. 对1到100那个程序的运行结果截图的时候因为结果太长,很难截图,感觉应该是有结果自动换行功能的,找了一下,发现了应该是自动换行按钮的东西
还有显示代码行数的功能
——20145120
9. 在第四章的学习中,我在浮点数精确度的部分有些纠结,在判断运算结果时总会出错...Java中浮点数默认为double类型,且Java遵守IEEE 754浮点数运算规范,使用分数与指数来表示浮点数!!(即使程序中显示的是0.1,但实际内部表示为1\10!)
以后若想要得到”字面上的结果”,需要使用标准类java.math.BigDecimal
(标准API由许多类组成,可以直接取用以免去重新打造基础的需求,一般包名称为java开头的类,表示标准API提供的类.)
——20145118
10.
一个 *.java 文件中,只能有一个public 的类,而且这个public修饰的这类必需要和这个文件名相同
问题出在文件命名上,应该命名为Sum.java
——20145110
11.书中P121的操作题1,是一个关于费氏数列的问题。其中用到了数组和java.util.Scanner.
代码如下:
import java.util.Scanner;
public class Fei1 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.printf("求几个费氏数?");
int n=s.nextInt();
int arr[] = new int[n];
arr[0] =0;
arr[1] = 1;
for (int i = 2; i < arr.length; i++) {
arr[i] = arr[i - 1] + arr[i - 2]; }
System.out.printf("斐波那契数列的前%d项如下所示:",n);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]); }
}
}
不过所显示的结果是一行一个,看上去并不美观,不知道如何修改。希望老师能够指导。
肖昱学长的解答:
关于斐波那契数列:println自带换行,改成print然后字符串后面加个空格就好了。
——20145110
12. 在看书的过程中,作者提到这样的一个例子:
String text1 = "Ja"+"va";
String text2 = "Java";
System.out.println(text == text2);
当时没有继续往下看时,以为会输出false。但答案是true。后来作者通过反编译解释了这个问题。
“+”是链接字符,并不是新产生的字符串。
所以在学习过程中,各程序语言会有细微、重要且不容忽视的特性。在学习程序语言是,不得不慎。
——20145201
13.不知道p100、p102的代码中System.out.println()的意思。
解决过程:我进行了一下尝试:
我发现加上这句话的执行结果和书上是一样的。如果不加这句话,执行的结果就是这样的:
这是什么原因呢?难道这句话的作用仅仅是空格的作用?
娄老师回复:换行看不出来?(这句话就是换行的意思!)
——20145203
!!!14.调试代码的时候,我不明白这个代码为什么i++最后输出的结果会是10:
解决过程:我问了几个同学他们也对这个问题不太理解。只能理解为输出的时候还未进行++运算!
——20145203
!!!15.关于自动拆箱与装箱的问题
“建立Integer时,使用Integer.valueof()。用这种方式建立实例,如果传入的int在IntegerCache.low与IntegerCache.high之间,就会看缓存中有没有打包过相同的值,如果有就会直接返回,如果没有就会用new建立新的实例。”
那么Integer i1=100;Integer i2=100;这相当于Integer i1=100;Integer i2=i1;那i1和i2有什么意义吗?同一个对象i2改变,那么i1也会改变啊?仅仅是为了比较数值大小吗?
——20145204
!!!16.还是有些不太清楚什么事候用printf、print、println,只知道println不仅可以输出还可以直接换行,在P85代码中,输出使用了println运行结果出现错误。
解决过程:还没有解决。
——20145206
17.在代码编译中我遇到了GBK码的一些问题,一些包含汉字的文件我在IDEA是可以正常的运行,但是在cmd上运行就会出现错误,下面是任务日志的内容:
——20145208
18.在编写代码的时候出现了一个没有解决的问题。
public class Average {
public static void main(String[] args) {
long sum = 0;
for (String arg:args){
sum +=Long.parseLong(arg);
}
System.out.println("平均:"+(float)sum/args.length);
}
}
上述代码的运行结果是
结果是NAN,这不是我想得到的,在网上查到NAN代表not a number,是因为程序中没有给定参数值的原因,但是我想按照书上的方法对其赋予参数变量,却提示无法找到相应的类,这个问题我研究了一会还是没有解决。
——20145208
在编写代码的时候出现了一个没有解决的问题。
public class Average {
public static void main(String[] args) {
long sum = 0;
for (String arg:args){
sum +=Long.parseLong(arg);
}
System.out.println("平均:"+(float)sum/args.length);
}
}
上述代码的运行结果是
结果是NAN,这不是我想得到的,在网上查到NAN代表not a number,是因为程序中没有给定参数值的原因,但是我想按照书上的方法对其赋予参数变量,却提示无法找到相应的类,这个问题我研究了一会还是没有解决。
}
import java.util.Arrays;
public class Score2 {
public static void main(String[] args) {
int[]scores={55,65,65,80,75,70,95,90,85,100};
for (int score:scores){
System.out.printf("%2d ",score);
}
System.out.println();
Arrays.fill(scores,60);
for (int score:scores){
System.out.printf("%3d",score);
}
}
}
import java.util.Scanner;
public class Sum {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
float sum=0;
float number=0;
do {
System.out.print("输入数字:");
number=Float.parseFloat(scanner.nextLine());
sum+=number;
}while (number!=0);
System.out.println("总和:"+sum);
}
}
代码调试中的问题和解决过程
在代码编译中我遇到了GBK码的一些问题,一些包含汉字的文件我在IDEA是可以正常的运行,但是在cmd上运行就会出现错误,下面是任务日志的内容:
然后我通过上网查找相应的解决方案,发现应该是文件编码方式的问题,只要改成如下方式就可以正常编译运行了:
标签:
原文地址:http://www.cnblogs.com/xxy745214935/p/5389515.html