我正在尝试在用户输入0时取消我的数组,但它似乎想要取消任何输入的数字。
import java.util.Scanner;
public class Assignment2
{
public static void main (String[] args)
{
Scanner scan= new Scanner(System.in);
int count=0;
double[] nums= new double[100];
for(int i=0;i<nums.length;++i)
{
nums[i]= scan.nextDouble();
nums[i]=i;
if (i == 0){
break;}
count++;
}
}
}
答案 0 :(得分:5)
您正在测试i
(您的循环计数器),而不是用户实际输入的内容。你可能想要:
nums[i] = scan.nextDouble();
if (nums[i] == 0) {
break;
}
代替。另外,你的nums[i] = i
行完全破坏任何DID输入,并用循环计数器值替换它,你基本上存储你的循环值。这使得用户输入毫无意义。
答案 1 :(得分:0)
你的问题在于你比较停止程序。您正在使用保持循环运行次数的变量。由于该变量从0开始,每当您键入任何值时,它将始终停止该程序,因为您将其与该计数器进行比较。
相反,您应该与数组中存储的值进行比较:
num[i] == 0
这可以按你的意愿工作:
import java.util.Scanner;
public class Assignment2
{
public static void main (String[] args)
{
Scanner scan= new Scanner(System.in);
int count=0;
double[] nums= new double[100];
for(int i=0;i<nums.length;++i){
nums[i] = scan.nextDouble(); //stores your value
if (nums[i] == 0){ //checks if the value in the ARRAY is 0
break;
}
count++;
}
}
}