Java if语句作业
我的作业要求我找到4个输入数字中最大的2个 我尝试了一个if语句,但我认为我走错了方向。我必须使用if语句或while循环。我如何继续Java if语句作业,java,if-statement,Java,If Statement,我的作业要求我找到4个输入数字中最大的2个 我尝试了一个if语句,但我认为我走错了方向。我必须使用if语句或while循环。我如何继续 if ((a>b && b>c && c>d)||(a>b && b>d && d>c)){ System.out.println("max1 is : " + a); System.out.println("max2 is : " + b);}
if ((a>b && b>c && c>d)||(a>b && b>d && d>c)){
System.out.println("max1 is : " + a);
System.out.println("max2 is : " + b);}
else if ((b>a && a>c && c>d)||(b>a && a>c && d>c) ){
System.out.println("max1 is : " + b);
System.out.println("max2 is : " + a);}
if ((c>a && a>b && b>d)||(c>a && a>b && d>b)){
System.out.println("max1 is : " + c);
System.out.println("max2 is : " + a);}
使用java基元数组:
int[] num = {a, b, c, d};
Arrays.sort(num);
System.out.println("Largest is : " + num[3]);
System.out.println("Second Largest is : " + num[2]);
//最大的两个数字将占据数组中最后两个位置3和2。只需将参数放入一个数组中,对该数组排序并显示最后的元素
public static void main(String[] args) {
dispayMax(5, -13, 7, 88);
}
public static void dispayMax(int a, int b, int c, int d){
int[] array = {a, b, c, d};
Arrays.sort(array);
int length = array.length;
System.out.println("max1 is : " + array[length -2]);
System.out.println("max2 is : " + array[length -1]);
}
您可以使用集合来避免多次写入此类
条件。
在这种情况下,集合或数组可以派上用场
min1-最小数字,min2-第二个最小数字。
其初始值设置为可能的最大整数值在for循环中,对于每个元素,如果元素小于min1值,则将当前min1值指定给min2,并将min1设置为元素本身。 如果元素值小于min2而不是min1,则将其值指定给min2,min1保持不变 使用它的方法之一是:
int min1 = Integer.MAX_VALUE, min2 =Integer.MAX_VALUE;
int[] arr = {a,b,c,d}; // created an array with the four elements
for(int i=0;i<arr.length;i++) {
if(min1>arr[i]) { //array is minimising the checks to be written
min2=min1;
min1=arr[i];
}else if(min2>arr[i]) {
min2=arr[i];
}
}
int min1=Integer.MAX\u值,min2=Integer.MAX\u值;
int[]arr={a,b,c,d};//创建了一个包含四个元素的数组
对于(inti=0;iarr[i]){//数组正在最小化要写入的检查
min2=min1;
min1=arr[i];
}else if(min2>arr[i]){
min2=arr[i];
}
}
只有6种可能性:a&b、a&c、a&d、b&c、b&d、c&d。如果您的赋值指定了if语句,那么使用if语句对它们进行强制检查应该不会太难。我能说的最好方法是将它们全部收集到数组或列表中,然后对该列表进行排序,选择前两个,将4个数字中的每一个插入一个数组,然后调用Arrays.sort(my_array)。然后你可以只取数组的前两个元素的位置0和1(这种方法需要允许你使用java.util.array库)。azurefrog,是的,我想我会这样做,我的问题是我试图像(a&b和b&a)那样对输出进行排序等等,这让我感到困惑和复杂的东西我们还没有使用arrys,所以它应该只使用基本的if,
import java.util.Arrays;
public class Homework{
public static void main(String []args){
int myArray[] = {4, 10, 1, 100}; //insert your 4 numbers
Arrays.sort(myArray);
System.out.println("The max is: " + myArray[3]);
System.out.println("The 2nd max is: " + myArray[2]);
}
}