作者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://webptt.com/cn.aspx?n=bbs/java/M.1418658056.A.308.html
1F:推 LPH66: 注意 nextLine 回传了什麽东西12/15 23:49
2F:→ Killercat: 程式码贴gist吧....12/15 23:56
※ 编辑: k7245313 (114.47.103.96), 12/16/2014 00:03:55
3F:→ k7245313: Killercat:抱歉,gist网址已贴上 12/16 00:05
4F:→ k70430: 而且你一个变数使用了3次,你这样maxname只会是最後一个玩 12/16 07:50
5F:→ k70430: 家的名字,而不是真的最大值的姓名啊。因为name会一直被盖 12/16 07:50
6F:→ k70430: 过去,你目前写法,一个玩家就会更换一次name的值 12/16 07:51
7F:→ k70430: 最大值也有一样的状况,你宣告了4个int,却一直用同一个 12/16 07:52
8F:→ k70430: number来存放丢骰子的结果,仍然只取到最後一笔啊 12/16 07:52
9F:→ realmeat: XD 这程式的逻辑很有问题.. 再回去想想 12/16 10:27
10F:推 Killercat: gist可以调整格式java而非txt 不用道歉 只是提醒一下 12/16 13:23
11F:→ Killercat: 以後跟人讨论也方便许多喔 12/16 13:24