1. 程式人生 > >使用三目運算巢狀方法 或 臨時變數方法: 獲取三個整數中最大值的數

使用三目運算巢狀方法 或 臨時變數方法: 獲取三個整數中最大值的數

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);
}


}