Java Can';无法在0取消我的数组

Java Can';无法在0取消我的数组,java,arrays,Java,Arrays,我试图让我的数组在用户输入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

我试图让我的数组在用户输入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++;
        }
}
}
import java.util.Scanner;
公共课堂作业2
{
公共静态void main(字符串[]args)
{
扫描仪扫描=新扫描仪(System.in);
整数计数=0;
double[]nums=新的double[100];

对于(int i=0;i您正在测试的
i
(您的循环计数器),与用户实际输入的内容无关。您可能需要:

nums[i] = scan.nextDouble();
if (nums[i] == 0) {
   break;
}

相反。另外,你的
nums[i]=i
行完全破坏了任何输入,并用循环计数器值替换它,你基本上是在存储循环值。这使得用户输入完全没有意义。

你在测试
i
(你的循环计数器),而不是用户实际输入的任何内容。你可能想要:

nums[i] = scan.nextDouble();
if (nums[i] == 0) {
   break;
}

相反。另外,您的
nums[i]=i
line完全丢弃任何已获得的输入,并用循环计数器值替换它,您基本上是在存储循环值。这使得用户输入完全没有意义。

您的问题在于停止程序的比较。您使用的变量保留循环已运行的次数。因为该变量rts为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++;
        }
    }
}
import java.util.Scanner;
公共课堂作业2
{
公共静态void main(字符串[]args)
{
扫描仪扫描=新扫描仪(System.in);
整数计数=0;
double[]nums=新的double[100];

对于(int i=0;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++;
        }
    }
}
import java.util.Scanner;
公共课堂作业2
{
公共静态void main(字符串[]args)
{
扫描仪扫描=新扫描仪(System.in);
整数计数=0;
double[]nums=新的double[100];

对于(int i=0;ii)如果这是正确答案,你需要这样标记。给这个家伙评分。如果这是正确答案,你需要这样标记。给这个家伙评分。