首页 > 编程知识 正文

帮忙分析一下java,帮我分析一个

时间:2024-03-07 18:23:18 阅读:331676 作者:NTYK

本文目录一览:

关于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开发

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。