作者k7245313 (Leo)
看板java
標題[問題] 請問一些問題
時間Mon Dec 15 23:40:53 2014
import java.util.*;
public class PM6_1 {
public static void main(String args[]){
int maxNum = 0,number = 0,num1,num2,num3,num4,name = 0;
int maxName=0;
Scanner keyin=new Scanner(System.in);
System.out.printf("請玩家輸入姓名並擲骰子=>");
keyin.nextLine();
number=game();
System.out.printf("合計:%d\n",number);
System.out.printf("請玩家輸入姓名並擲骰子=>");
keyin.nextLine();
number=game();
System.out.printf("合計:%d\n",number);
System.out.printf("請玩家輸入姓名並擲骰子=>");
keyin.nextLine();
number=game();
System.out.printf("合計:%d\n",number);
System.out.printf("請玩家輸入姓名並擲骰子=>");
keyin.nextLine();
number=game();
System.out.printf("合計:%d\n",number);
if (number>maxNum){
maxNum=number;
maxName=name;
}
maxNum=max(number,max(number,max(number,number)));
System.out.printf("\n恭喜!!%d 先生擲出%d贏得此局\n",maxName,ma
xN
}
static int game(){
Random random=new Random();
int k,sum=0,ran;
System.out.printf("\t您擲出=>");
for(k=1;k<=3;k++){
ran=1+random.nextInt(6);
System.out.printf("%d和",ran); //讓擲出的數目中間有間
隔
sum=sum+ran;
}
System.out.printf("\n");
return sum;
}
static int max(int a,int b){
if (a>b)
return a;
else
return b;
}
}
http://i.imgur.com/0ggYnBB.jpg
我想寫出圖片那樣,不過最大數跑的出來,但玩家姓名一直是0
麻煩各位指點一下,謝謝!
gist:
https://gist.github.com/anonymous/602acd7cfabd46f9c53b
--
Sent from my Android
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.47.103.96
※ 文章網址: http://www.ptt.cc/bbs/java/M.1418658056.A.308.html
推 LPH66: 注意 nextLine 回傳了什麼東西12/15 23:49
→ Killercat: 程式碼貼gist吧....12/15 23:56
※ 編輯: k7245313 (114.47.103.96), 12/16/2014 00:03:55
→ k7245313: Killercat:抱歉,gist網址已貼上 12/16 00:05
→ k70430: 而且你一個變數使用了3次,你這樣maxname只會是最後一個玩 12/16 07:50
→ k70430: 家的名字,而不是真的最大值的姓名啊。因為name會一直被蓋 12/16 07:50
→ k70430: 過去,你目前寫法,一個玩家就會更換一次name的值 12/16 07:51
→ k70430: 最大值也有一樣的狀況,你宣告了4個int,卻一直用同一個 12/16 07:52
→ k70430: number來存放丟骰子的結果,仍然只取到最後一筆啊 12/16 07:52
→ realmeat: XD 這程式的邏輯很有問題.. 再回去想想 12/16 10:27
推 Killercat: gist可以調整格式java而非txt 不用道歉 只是提醒一下 12/16 13:23
→ Killercat: 以後跟人討論也方便許多喔 12/16 13:24