在我的程序中有一些错误,所以请帮助我
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
}
}
答案 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();
}