说明
在我的12年级计算机科学课上,我被赋予了一项任务,完全让我难过.到目前为止,我已经尝试使用一堆if语句(虽然我知道这不是最好的方式,但我确定它会起作用)但是这不起作用.然后我尝试使用嵌套循环,但这不起作用,这是我为此方法到目前为止创建的代码.
代码(注:最大= 1000)
private static void totals2 (Scanner user_input,int max){
int[] num = new int[max];
int[] total=new int[10];
System.out.println("Welcome to totals\nThis method gathers input and displays the sum depending on which category they fall in");
System.out.println("Enter numbers from 0-99 only (Up to 1000 inputs)\nEnter any number outside of 0-99 to stop collecting\n");
for (int i = 0; i < num.length; i++) {
System.out.println("Please enter a number to be stored in index: " + i);
num[i] = user_input.nextInt();
if (num[i] < 0 || num[i] > 99) {
break;
}
}
for(int i = 0; i < 100; i +=10){
int j;
int k=(i/10)-1;
for(j=0 ;j<1000;j++){
if (num[j] <= i){
total[k]+= num[j];
}
}
System.out.println(total[k]);
}
}
题
创建一个程序,输出小于10的所有数字(在数组中)的总数,输入的所有数字的总数小于20,输入的所有数字的总数小于30,…以及所有数字的总和输入少于100(因此,对于小于90且小于100的数字,88将包含在总数中).
解决方法:
由于这是你的任务,我不会在这里发布任何代码.只是一些想法.
>你需要保存0到99之间的数字吗?如果没有,请检查您的第一个循环.
>对于你的第二个for循环,如果i = 0,k将是什么值?如果我= 10将是什么值k?
我没有运行你的算法,这是我在阅读时发现的所有问题.了解如何使用调试工具将有助于您进一步学习. (推荐用于Java开发的Intellj)
标签:java,arrays,addition
来源: https://codeday.me/bug/20190701/1348905.html