java程式碼判斷問題

import java.util.Scanner;

public class s2

{

public static void main(String args[])

{

Scanner scn=new Scanner(System.in);

int a,b,c,d,e,f,i,sum=0,max=0;

System.out.println("1號水果單價4元");

System.out.println("2號水果單價10元");

System.out.println("3號水果單價8元");

System.out.println("4號水果單價7元");

System.out.println("5號水果單價12元");

System.out.println("6號水果單價15元");

for(i=1;i<=6;i++)

{

System.out.print("請輸入第"+i+"種水果訂購量");

switch (i)

{

case 1:

a=scn.nextInt();

sum+=a*4;

if(a>max)

max=1;

System.out.println("訂購金額:"+(a*4));

break;

case 2:

b=scn.nextInt();

sum+=b*10;

if(b>max)

max=2;

System.out.println("訂購金額:"+(b*10));

break;

case 3:

c=scn.nextInt();

sum+=c*8;

if(c>max)

max=3;

System.out.println("訂購金額:"+(c*8));

break;

case 4:

d=scn.nextInt();

sum+=d*7;

if(d>max)

max=4;

System.out.println("訂購金額:"+(d*7));

break;

case 5:

e=scn.nextInt();

sum+=e*12;

if(e>max)

max=5;

System.out.println("訂購金額:"+(e*12));

break;

case 6:

f=scn.nextInt();

sum+=f*15;

if(f>max)

max=6;

System.out.println("訂購金額:"+(f*15));

break;

}

}

System.out.println("訂購數量最高者為"+max+"號水果");

System.out.print("總銷售金額:"+sum);

}

}

我的問題是 訂購量最高顯示幾號水果這裡

System.out.println("訂購數量最高者為"+max+"號水果");

if判斷式要怎麼控制才能顯示出正確的水果

請大家幫我修改一下 謝謝

1 個解答

評分
  • John
    Lv 7
    7 年前
    最佳解答

    int quantity = 0; // add this

    for(i=1;i<=6;i++)

    {

    System.out.print("請輸入第"+i+"種水果訂購量");

    switch (i)

    {

    case 1:

    a=scn.nextInt();

    sum+=a*4;

    if(a > quantity) {

    max = 1;

    quantity = a; // add this to all cases

    }

    System.out.println("訂購金額:"+(a*4));

    break;

    妳的程式好有問題,所有輸入都是預載的。請參考我的做法。https://docs.google.com/document/d/1RNW2HqBcqjq8UO...

    2013-12-26 08:52:42 補充:

    "所有輸入都是預載的" 應該是,所有輸入金額都是很難更改。

還有問題?馬上發問,尋求解答。