==============
我在给出的作业中连接点时遇到了一些问题。这是Java。
目标/要求:
使用WHILE循环存储用户输入的整数。
如果输入的值小于0,则循环应该结束(如果他们输入负值,我不知道怎么读它)
< / LI>程序应该输出这些东西(我还没有这么做,但如果有人可以解释这些,那就太棒了):
这是我到目前为止所做的事情,它没有工作,因为它还没有完成,而且我很蠢。
import java.util.Scanner;
public class IntegerArrayTester
{
public static void main(String[] args)
{
Scanner console = new Scanner(System.in);
int total = 0;
int[] array = new int[total];
// Asks for user input
System.out.println("Please enter integers. To stop, type a negative number.");
int input = console.nextInt();
int num = input;
while(num >= 0) {
for(int i = 0; i < total; i++)
array[i] = console.nextInt();
}
// displays the array
for(int k = 0; k < array.length; k++) {
System.out.println(array[k] + " ");
}
console.close();
}
}
答案 0 :(得分:2)
你永远不会更新num。将其添加到获取用户输入的循环中。
while(num >= 0) {
for(int i = 0; i < total; i++) {
array[i] = num;
num = console.nextInt();
}
}
如果要填充数组,还需要将总数设置为大于0的值。
答案 1 :(得分:2)
数组在Java中不可调整大小,您需要使用List。
<div ng-app="MyApp">
<div class="container" ng-controller="sentCtrl">
<div class="row">
<div><strong>Only show:</strong>
<div class="btn-group btn-group-xs">
<button class="btn btn-primary" ng-click="setMyFilter()">Images</button>
</div>
</div>
</div>
<div class="row content-sc">
<div class="item-sc" data-ng-repeat="d in things | filter: {largeImage.hasImage: myFilter}">
<h4>{{d.NAME}}<br/><small>ID: {{d.ID}}</small></h4>
</div>
</div>
</div>
答案 2 :(得分:0)
首先,不要使用数组,因为您不知道用户将提交的数字量。
这里使用固定大小0
初始化数组int total = 0;
int[] array = new int[total];
所以我猜你的程序在提供第一个号码时崩溃了吗?
array[i] = console.nextInt();
使用像ArrayList这样的动态增长的集合......
此外,num应该更新......
答案 3 :(得分:0)
试试这个
ArrayList<Integer> ins = new ArrayList<Integer>();
Scanner scan = new Scanner(System.in);
System.out.println("Please enter numbers. Enter negative value to stop.");
int evens = 0, odds = 0;
while (scan.hasNextLine()) {
int num = Integer.parseInt(scan.next());
if(num<0) break;
ins.add(num);
if (num % 2 == 0)
evens++;
else
odds++;
}
System.out.println("Even numbers = "+evens+"\nOdd numbers = "+odds);
int[] totals = new int[ins.size()];
totals[0] = ins.get(0);
System.out.print("Cumulative totals \n" + totals[0] + " ");
for (int i = 1; i < ins.size(); i++) {
totals[i] = totals[i - 1] + ins.get(i);
System.out.print(totals[i] + " ");
}