从标准输入添加数组

adding in array from stdin

我是 java 的新手,编写程序只是为了好玩。该程序的目的是通过 std 存储在 num [] 中获取一个 int,然后向其添加 5。很简单,我的代码怎么有问题。澄清一下,我在实际计算中遇到问题,如何将标准输入存储在 int 数组中,然后通过 addNum 方法传递它。谢谢你。 这是我的代码:

class Array{
public static void main (String [] args) {
    System.out.println(" enter four digits between 0-100");
    Scanner cin = new Scanner(System.in);
    int n = cin.nextInt();

    int [] num = new int[4];
    int num1 = 0;

}
    public int addNum(int [] num, int num1){
        for( int i = 0; i < num1; i++) {
            num[i]+=5;

        }
        return num1;
            }

}

据我了解,您想将标准输入中的每个数字加 5。 我已将您的代码修改如下:

public class Array {
 public static void main(String[] args) {
    System.out.println(" enter four digits between 0-100");
    Scanner cin = new Scanner(System.in);

    int n = 4;

    int[] num = new int[n];

    int i = 0;

    while(cin.hasNext() && i < n) {
        num[i] = cin.nextInt();
        i++;
    }

    int num1 = (new Array()).addNum(num, n);

    for(int j : num)
        System.out.println(j);



}

public int addNum(int[] num, int num1) {
    for (int i = 0; i < num1; i++) {
        num[i] += 5;
    }
    return num1;
}

}

您需要从标准输入中读取每个数字,如下所示

while(cin.hasNext() && i < n) {
    num[i] = cin.nextInt();
    i++;
}

之后,如果你想 运行 addNum 方法,你需要创建 class 数组的对象(因为你的方法不是静态的,不能直接从 main 运行方法)。也许最好使用 ArrayList 来存储来自标准输入的数字。 ArrayList 可以使用 someArrayList.toArray() 方法轻松转换为数组。 希望我写的对你有帮助。