Java 我试图写一个程序,允许我输入多个整数,但它赢了';I don’我不允许输入我的整数集

Java 我试图写一个程序,允许我输入多个整数,但它赢了';I don’我不允许输入我的整数集,java,arrays,sum,int,Java,Arrays,Sum,Int,我的代码不允许我输入多个整数,这样就可以计算总和、整数计数、最小值和正偶数整数之和。我不确定我是否需要另一种方法,或者我是不是打错了电话 import java.util.Scanner; public class Assignment2 { private static final Scanner input = null; private static int n; public static void main(String[] args){ Scanner scan =

我的代码不允许我输入多个整数,这样就可以计算总和、整数计数、最小值和正偶数整数之和。我不确定我是否需要另一种方法,或者我是不是打错了电话

  import java.util.Scanner;
public class Assignment2 {
private static final Scanner input = null;
private static int n;

public static void main(String[] args){


    Scanner scan = new Scanner(System.in);
    int sum=0, minNumber=0, nCount=0, countEvenIntegers=0;
     Scanner sc = new Scanner(System.in);
     int i = sc.nextInt();


    //when code reads 0, code terminates
     int[] numbers = new int[4];
     for(int i=0; i<4; i++){
         numbers[i] =sc.nextInt();

     }

     while(!(n==0)){
           sum += n;
           n = input.nextInt();
        }

    class SumOfValues {
        public int sum(int...vals){
            int sum=0;
            for (int val : vals) {
                sum+= val;
            }
            return sum;
        }

    }
    class CountingInts{
        public void main(String[] args){
            Scanner input=new Scanner(System.in);
            int count=0;
            System.out.print("Numbers: ");
            while (input.hasNextInt()){
                input.nextInt();
                count++;
            }
            System.out.print(count);
            input.close();
        }
    }


    int sumPositive = 0;
    System.out.println("The minimum integer is " + minNumber +  "\nThe count of integers is " 
    + nCount + "\nThe sum of positive integers is " + sumPositive + "\nThe count of even integers in the sequence is " + 
            countEvenIntegers );


}




}
import java.util.Scanner;
公共课堂作业2{
专用静态最终扫描仪输入=空;
私有静态int n;
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
int sum=0,minNumber=0,nCount=0,countEvenIntegers=0;
扫描仪sc=新的扫描仪(System.in);
int i=sc.nextInt();
//当代码读取0时,代码终止
int[]数字=新的int[4];

对于(int i=0;i来说,由于您没有对正在输出的变量执行任何操作,因此不应该期望输出为0以外的任何其他变量,因此不太确定您在代码中执行的操作

而且,你的内心世界真的很奇怪

下面是一个示例(基于您的代码),它实现了您的目标。实现目标的方法很多,但我认为这很简单:

import java.util.Scanner;
import java.util.*;

public class Assignment2{

private static final Scanner input = null;
private static int n;

    public static void main(String[] args){

        Scanner scan = new Scanner(System.in);
        int sum=0, minNumber=0, nCount=0, countEvenIntegers=0, sumPositive = 0;
        Scanner sc = new Scanner(System.in);
        List<Integer> numbers = new ArrayList<Integer>();

        while(true) {
            int i = sc.nextInt();

            if(i == 0) {
                break;
            }

            numbers.add(i);
        }
        if(numbers.size() > 0) {
            minNumber = numbers.get(0);
        }

        for (int number : numbers) {
            sum += number;
            if(minNumber > number) {
                minNumber = number;
            }
            if(number % 2 == 0) {
                countEvenIntegers++;
            }
            if(number > 0 ) {
                sumPositive += number;
            }
        }

        nCount = numbers.size();

        System.out.println("The minimum integer is " + minNumber +  "\nThe count of integers is " 
        + nCount + "\nThe sum of positive integers is " + sumPositive + "\nThe count of even integers in the sequence is " + 
                countEvenIntegers + "\nThe total sum is " + sum);
    }
}
import java.util.Scanner;
导入java.util.*;
公共课堂作业2{
专用静态最终扫描仪输入=空;
私有静态int n;
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
int sum=0,minNumber=0,nCount=0,countEvenIntegers=0,sum正=0;
扫描仪sc=新的扫描仪(System.in);
列表编号=新的ArrayList();
while(true){
int i=sc.nextInt();
如果(i==0){
打破
}
增加(i);
}
如果(numbers.size()>0){
minNumber=numbers.get(0);
}
用于(整数:数字){
总和+=数字;
如果(minNumber>number){
minNumber=数字;
}
如果(数字%2==0){
countEvenIntegers++;
}
如果(数字>0){
SUM正+=数字;
}
}
nCount=numbers.size();
System.out.println(“最小整数为“+minNumber+”\n整数计数为”
+n计数+“\n正整数之和为“+sumPositive+”\n序列中偶数整数的计数为“+
countEvenIntegers+“\n总和为”+和);
}
}

看起来你是一个绝对的初学者,所以我建议你不要处理函数和类之类的东西,而只是线性地编写所有东西。我不知道为什么你有所有这些函数、类和变量,但为了帮助你,这可能是实现你想要做的事情的最简单的方法

import java.util.Scanner;

public class Assignment2 {
    public static void main(String[] args) {
        int sum = 0, minNumber = 0, nCount = 0, countEvenIntegers = 0;

        Scanner sc = new Scanner(System.in);

        while (true) {
            int input = sc.nextInt();

            if (input == 0) {
                break;
            }

            sum += input;
            nCount += 1;
        }

        System.out.println("The minimum integer is " + minNumber);
        System.out.println("The count of integers is " + nCount);
        System.out.println("The sum of positive integers is " + sum);
        System.out.println("The count of even integers in the sequence is " + countEvenIntegers);
    }
}

请注意,我没有为您添加要完成的最小整数和偶数整数的计数。

您的代码如何不允许您输入多个整数?您能详细说明您遇到的问题吗?是否有编译器错误?运行时错误或异常?错误的输出?请花一些时间。但是,我可以输入整数r它给我的每个输出都是0。不,它没有。这段代码没有编译。因此它无法运行。读取编译错误,并修复它。我重命名了我的第二个变量“I”,现在它允许我运行程序,但它没有输出任何内容当我删除时//当代码读取0时,代码终止int[]number=new int[4];例如(int i1=0;i1感谢您的帮助!我尝试执行上面发布的代码,但在Assignment2.main(Assignment2.java:33)的线程“main”java.lang.NullPointerException中出现错误异常@TaylorColeman我无法重新创建您正在描述的NullPointerException。但是,当我执行
minNumber=numbers.get(0);
时,我确实遇到了IndexOutOfBounds,并在执行此操作之前进行了检查,将其修复。