使用三目運算巢狀方法 或 臨時變數方法: 獲取三個整數中最大值的數
阿新 • • 發佈:2019-02-04
package day;
import java.util.Scanner;
public class Test_11 {
// 練習 鍵盤錄入三個整數 比大小 獲取最大值
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("請輸入第1個整數:");
int a = sc.nextInt();
System.out.print("請輸入第2個整數:");
int b = sc.nextInt();
System.out.print("請輸入第3個整數:");
int c = sc.nextInt();
//第一種方法:三目運算巢狀
int max =( a>b?(a>c? a:c):(b>c? b:c));
//==( 3>2?(3>1? 3:1):(2>1? 2:1)); //a=3 一般把數字替代進去驗證就知道了
//a<b? 那後面的兩個值必須是 a:b
//(a<c? a:c) 假設得到a最大
//(b<c? b:c) 假設得到b最大
//最終 a<b? a:b ;得出結果是a最大,把a賦值給max
System.out.println("最大值是:"+max);
/*三目運算巢狀:
如何用三目運算比較a,b,c的最大數和最小數
int max = a > b ? (a > c ? a : c) : (b > c ? b : c); //求最大數
int min = a < b ? (a < c ? a : c) : (b < c ? b : c); //求最小數 */
//舉例驗證:a=2 b=1 c=3
//==( a>b?(a>c? a:c):(b>c? b:c));//a>b?=2>1?=true取a的值2,a的值是(a>c? a:c)=2>3?=false,取c的值3
//舉例驗證:a=1 b=3 c=2
//==( a>b?(a>c? a:c):(b>c? b:c));//a>b?=1>3?=false取b的值3,b的值是(b>c? b:c)=3>2?=true,取b的值3
//舉例驗證:a=1 b=2 c=3
//==( a>b?(a>c? a:c):(b>c? b:c));//a>b?=1>2?=false取b的值2,b的值是(b>c? b:c)=2>3?=false,取c的值3
//舉例驗證:a=2 b=3 c=1
//==( a>b?(a>c? a:c):(b>c? b:c));//a>b?=2>3?false取b的值3,b的值是(b>c? b:c)=3>1?=true,取b的值3
//第二種方法 使用臨時變數儲存a和b的最大變數,在和c相比
int temp =(a>b? a:b);
int max1 =(temp>c? temp:c);
System.out.println("最大值是:"+max1);
}
}