如何在java中输入数组中的键盘

时间:2014-01-24 09:59:14

标签: java input java.util.scanner

在我的程序中有一些错误,所以请帮助我

package string_demo;

import java.util.Scanner;

public class array_find_min_max_no {

    static void min(int arr[]){  

        //arr=Integer.parseInt();
        int min=arr[0];  
        int max=arr[0];
        for(int i=1;i<arr.length;i++) { 

            if(min>arr[i])  {
                min=arr[i];  
            }
            if(max<arr[i]) {
                max=arr[i];  
            }
        }
        System.out.println(min);
        System.out.println(max); 
    }  

    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        int b[]=sc.next();
        min(b);//passing array in the method  
    } 
}

2 个答案:

答案 0 :(得分:2)

在这里你需要将输入字符串(如sc.next())转换为字符串数组,然后将字符串数组转换为int数组。

  

Scanner#next() - 查找并返回下一个完整的令牌   扫描器。之前是一个完整的标记,然后是输入   匹配分隔符模式。

没有提供将字符串数组转换为int数组的快捷方式或方法,因此您需要解析字符串数组并单独转换(使用Integer#parseInt)每个元素并将整数放入新的整数数组< / p>

...
String b[]=sc.next().split(","); // assume input is comma seperated string
int[] data = new int[items.length];

for (int i = 0; i < b.length; i++) {
    try {
        data[i] = Integer.parseInt(b[i]);
    } catch (NumberFormatException nfe) {};
}
min(data);
...

答案 1 :(得分:0)

它&#39; S:

int m;
Scanner sc = new Scanner(System.in);
System.out.println("enter the number of elements you will enter");
m = sc.nextInt();
int b[] = new int[m];
for(int i = 0; i < m; i++){
    b[i] = sc.nextInt();
}