本文目录一览:
- 1、关于java运行问题。如下请大家帮忙分析一下吧?
- 2、求帮忙分析一下java代码
- 3、请帮忙分析下这个java程序 用折半查找法判断一个从键盘上输入的数是否在某个数组中
- 4、java学习中遇到问题,请过来人帮忙分析一下
关于java运行问题。如下请大家帮忙分析一下吧?
虽然ls有人说这问题很学究,不过我觉得还是值得讨论的
说实话,在看到你这个题目的时候,我和你想的结果是一样的
但是运行结果确实是0,0,0,0,0
思考了一下,我觉得是因为java只有值传递没有引用传递造成的
num = num++;
这道题我能不能看成这样
num = 0;
temp = 0;
num = temp ++;
?
根据java内存的分配情况来看,这个和num = num++是相等的。
那么这个就可以看成
num = temp;
temp = temp+1;
因为java是值传递
所以temp的改变并不会最终传递给num
所以这题的结果是
num = num;
temp = num +1;
所以num永远是0
以上仅仅是我个人的看法,希望高手指点
求帮忙分析一下java代码
从控制台可以输入数据,回车执行,br.readLine()会读取这行数据,如果你输入的数据不是数字会报异常。如果输入的数据大于1,这会跳出while循环,执行for循环,计算sum=i + sum的值。
请帮忙分析下这个java程序 用折半查找法判断一个从键盘上输入的数是否在某个数组中
我做了修改,现在没有问题了, package lianxi; import java.util.*; public class SortFind { public static void main(String args[]) { int n = 0, low, high, middle; System.out.println("从键盘输入一个整数,程序将判断该数是否在一个数组中"); int a[] = { 12, 32, 9, -23, 45, 6, 46, 90, 123, 19, 34 }; Arrays.sort(a); for (int i = 0; i a.length; i++) { System.out.print(a[i] + " "); } Scanner reader = new Scanner(System.in); while (reader.hasNextInt()) { n = reader.nextInt(); low = 0; high = a.length - 1; middle = (low + high) / 2; while (low = high) { System.out.println(middle); if (n == a[middle]) { System.out.println(n + "是数组中的元素"); break; } else if(n a[0] || n a[high]) { System.out.println(n + "不在数组中"); break; } else if (n a[middle]) { high = middle - 1; middle = middle-1; } else if (n a[middle]) { low = middle + 1; middle = middle+1; } } System.out.println("\n可继续输入整数,或输入非整数结束程序"); } System.out.println("你输入的数据不是整数"); } } 记得采纳
java学习中遇到问题,请过来人帮忙分析一下
你那边附近有北大青鸟培训吧,去那里培训一年半,你有C语言基础,相信学起来应该很快,到时候你可以选择做C#还是Java开发