在Java中查找第二个最大整数的程序(添加选项)
我有一个如下所示的代码,它从命令行中查找第二大数字。 例如:在Java中查找第二个最大整数的程序(添加选项),java,command-line-arguments,Java,Command Line Arguments,我有一个如下所示的代码,它从命令行中查找第二大数字。 例如: java FindSecondMax 3 4 5 6 产量将是第二大,为5 当用户输入相同的数字时,我想显示没有第二大数字。例如4 我该怎么做 public class FindSecondMax { public static void main(String args[]) { int max = Integer.parseInt(args[0]); int i = 1; while (i <
java FindSecondMax 3 4 5 6
产量将是第二大,为5
当用户输入相同的数字时,我想显示没有第二大数字。例如4
我该怎么做
public class FindSecondMax {
public static void main(String args[]) {
int max = Integer.parseInt(args[0]);
int i = 1;
while (i < args.length) {
int nums =Integer.parseInt(args[i]);
if (nums > max)
max = nums;
i++;
}
int max1 = max;
max = Integer.parseInt(args[0]);
int j = 1;
while (j < args.length ) {
int nums = Integer.parseInt(args[j]);
if (nums > max && nums < max1)
max =nums;
j++;
}
int max2 = max;
System.out.println(max2);
}
}
公共类FindSecondMax{
公共静态void main(字符串参数[]){
int max=Integer.parseInt(args[0]);
int i=1;
而(imax)
max=nums;
i++;
}
int max1=最大值;
max=Integer.parseInt(args[0]);
int j=1;
而(jmax&&nums
只需检查所有数字是否相等即可
if(isAllEqual(args)){
系统输出打印(“无第二个编号”);
}否则{
系统输出打印(max2);
}
}//干管末端
公共静态布尔isAllEqual(字符串[]){
//确定数组中的每个元素是否相等
布尔值anw=true;
对于(int i=1;i }
对代码的唯一更改是:
在计算最大值的第一个循环中捕获最小值
告诉用户没有第二个最大值,如果(最小==最大值)其他。。。你以前的逻辑是什么
public class FindSecondMax {
public static void main(String args[]) {
int max = Integer.parseInt(args[0]);
int min = Integer.MAX_VALUE;
int i = 1;
while (i < args.length) {
int nums = Integer.parseInt(args[i]);
if (nums > max)
max = nums;
if (nums < min)
min = nums;
i++;
}
if (min == max) {
System.out.println("There is no secondmax");
} else {
int max1 = max;
max = Integer.parseInt(args[0]);
int j = 1;
while (j < args.length) {
int nums = Integer.parseInt(args[j]);
if (nums > max && nums < max1)
max = nums;
j++;
}
int max2 = max;
System.out.println(max2);
}
}
}
公共类FindSecondMax{
公共静态void main(字符串参数[]){
int max=Integer.parseInt(args[0]);
int min=整数最大值;
int i=1;
而(imax)
max=nums;
如果(numsmax&&nums
注意:排序将有助于您的方法。最小值/最大值是微不足道的,第二大值是从最大值开始的简单迭代,直到得到一个不同的数字。这不是“做我的家庭作业网站”,但我会尝试用上面的答案为您指出一个方向。一个相当简单的方法是在第一个循环中计算最小值。如果min==max,你就没有第二个了。好的,整个类现在都在那里了。谢谢你的工作。如果你标记为已接受,如果这个代码满足你的需要,我将不胜感激。干杯