使用 JOptionPane [关闭] 找到数组中的最高和最低数字
find the highest and lowest number in array with JOptionPane [Closeed]
大学教育的代码
我需要用户插入一个数组值并找出哪个数字是最高的和最低的,但最低的数字不起作用。
谁能给我解释一下,不好意思问了这么多
int m=Integer.parseInt(JOptionPane.showInputDialog("Enter index"));
int values;
int num [] = new int [m];
int max = num[0];
int min = num[0];
for (int i=0;i<num.length;i++)
{
num[i] = values =Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(num[i]);
if (num[i] > max)
{
max=num[i];
}
if (num[i] < min )
{
min=num[i];
}
}
System.out.println("Largest Number in a given array is : " + max);
System.out.println("Smallest Number in a given array is : " + min);
欢迎,
int[] num= new int[4];
初始化num后,num为{0, 0, 0, 0};
int max = num[0];
int min = num[0];
所以现在 min 将为 0,因为 num[0] 为 0 - 无论您输入什么。
num[i] = values =Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(num[i]);
if(i == 0)
min = num[i];
试试这个并考虑一下(最大值相同)
您可以使用 Arrays.sort()
对数组进行排序,只需访问第一个(第 0 个)索引将包含最小数字,最后一个索引将包含最大数字:
int m=Integer.parseInt(JOptionPane.showInputDialog("Enter index"));
//int values; dont need this
int num [] = new int [m]; //num is initialised with length entered by the user
//int max = num[0]; no need
//int min = num[0]; no need
for (int i=0;i<num.length;i++)
{
num[i] = Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(num[i]);
}
Arrays.sort(num); //this will sort your array in ascending order: smallest number will be at the 0th index and largest will be at the last index
System.out.println("Largest Number in a given array is : " + num[num.length-1]);
System.out.println("Smallest Number in a given array is : " + num[0]);
您的代码中存在一些错误 - 因此,根据您的尝试,您可以在 从用户那里收到第一个值作为最小值和最大值后,然后开始工作从那里:
int m = Integer.parseInt(JOptionPane.showInputDialog("Enter index"));
int num[] = new int[m];
int max = Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(max);
int min = max;
for (int i = 0; i < num.length - 1; i++) {
num[i] = Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(num[i]);
if (num[i] > max) {
max = num[i];
} else if (num[i] < min) {
min = num[i];
}
}
System.out.println("Largest Number in a given array is : " + max);
System.out.println("Smallest Number in a given array is : " + min);
输入3、8、6、4、-33 5个,输出为:
Largest Number in a given array is : 8
Smallest Number in a given array is : -33
只是为了好玩,这里有一个非常低效的替代解决方案:
System.out.println(Arrays.stream(num).boxed().mapToInt(Integer::intValue).max().getAsInt());
System.out.println(Arrays.stream(num).boxed().mapToInt(Integer::intValue).min().getAsInt());
或者当然你可以用 Arrays.sort() 对数组进行排序,然后用 array[array.length() - 1]
找到最大值,用 array[0]
找到最小值
您可以使用 Integer.MAX_VALUE
和 Integer_MIN_VALUE
。整数的最大值为 2147483647(2^31-1),整数的最小值为 -2147483648(-2^31)
int m=Integer.parseInt(JOptionPane.showInputDialog("Enter index"));
int num [] = new int [m];
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
for (int i=0;i<num.length;i++)
{
num[i] = values =Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(num[i]);
if (num[i] > max)
{
max=num[i];
}
if (num[i] < min )
{
min=num[i];
}
}
希望这对你有用。
大学教育的代码 我需要用户插入一个数组值并找出哪个数字是最高的和最低的,但最低的数字不起作用。 谁能给我解释一下,不好意思问了这么多
int m=Integer.parseInt(JOptionPane.showInputDialog("Enter index"));
int values;
int num [] = new int [m];
int max = num[0];
int min = num[0];
for (int i=0;i<num.length;i++)
{
num[i] = values =Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(num[i]);
if (num[i] > max)
{
max=num[i];
}
if (num[i] < min )
{
min=num[i];
}
}
System.out.println("Largest Number in a given array is : " + max);
System.out.println("Smallest Number in a given array is : " + min);
欢迎,
int[] num= new int[4];
初始化num后,num为{0, 0, 0, 0};
int max = num[0];
int min = num[0];
所以现在 min 将为 0,因为 num[0] 为 0 - 无论您输入什么。
num[i] = values =Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(num[i]);
if(i == 0)
min = num[i];
试试这个并考虑一下(最大值相同)
您可以使用 Arrays.sort()
对数组进行排序,只需访问第一个(第 0 个)索引将包含最小数字,最后一个索引将包含最大数字:
int m=Integer.parseInt(JOptionPane.showInputDialog("Enter index"));
//int values; dont need this
int num [] = new int [m]; //num is initialised with length entered by the user
//int max = num[0]; no need
//int min = num[0]; no need
for (int i=0;i<num.length;i++)
{
num[i] = Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(num[i]);
}
Arrays.sort(num); //this will sort your array in ascending order: smallest number will be at the 0th index and largest will be at the last index
System.out.println("Largest Number in a given array is : " + num[num.length-1]);
System.out.println("Smallest Number in a given array is : " + num[0]);
您的代码中存在一些错误 - 因此,根据您的尝试,您可以在 从用户那里收到第一个值作为最小值和最大值后,然后开始工作从那里:
int m = Integer.parseInt(JOptionPane.showInputDialog("Enter index"));
int num[] = new int[m];
int max = Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(max);
int min = max;
for (int i = 0; i < num.length - 1; i++) {
num[i] = Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(num[i]);
if (num[i] > max) {
max = num[i];
} else if (num[i] < min) {
min = num[i];
}
}
System.out.println("Largest Number in a given array is : " + max);
System.out.println("Smallest Number in a given array is : " + min);
输入3、8、6、4、-33 5个,输出为:
Largest Number in a given array is : 8
Smallest Number in a given array is : -33
只是为了好玩,这里有一个非常低效的替代解决方案:
System.out.println(Arrays.stream(num).boxed().mapToInt(Integer::intValue).max().getAsInt());
System.out.println(Arrays.stream(num).boxed().mapToInt(Integer::intValue).min().getAsInt());
或者当然你可以用 Arrays.sort() 对数组进行排序,然后用 array[array.length() - 1]
找到最大值,用 array[0]
您可以使用 Integer.MAX_VALUE
和 Integer_MIN_VALUE
。整数的最大值为 2147483647(2^31-1),整数的最小值为 -2147483648(-2^31)
int m=Integer.parseInt(JOptionPane.showInputDialog("Enter index"));
int num [] = new int [m];
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
for (int i=0;i<num.length;i++)
{
num[i] = values =Integer.parseInt(JOptionPane.showInputDialog("Enter value"));
System.out.println(num[i]);
if (num[i] > max)
{
max=num[i];
}
if (num[i] < min )
{
min=num[i];
}
}
希望这对你有用。