【问题标题】:adding in array from stdin从标准输入添加数组
【发布时间】:2016-02-19 17:54:29
【问题描述】:

我是java新手,写一个程序只是为了好玩。该程序的目的是通过 num [] 中的 std 存储获取一个 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;
            }

}

【问题讨论】:

    标签: java arrays calculator


    【解决方案1】:

    据我了解,您想在标准输入的每个数字上加 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 方法,你需要创建类 Array 的对象(因为你的方法不是静态的,不能直接从 main 方法运行)。也许最好使用 ArrayList 来存储标准输入中的数字。 ArrayList 可以使用 someArrayList.toArray() 方法轻松转换为数组。 希望我写的对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      • 2021-09-09
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多