- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以在类里面我应该做一个猜谜游戏,当你接近答案时为你提供线索。我的问题是,当我运行它并且得到一个正确的数字时,我显然会保留该数字并继续使用其他 4 个数字,当我这样做时,问题是我的正确数字计数器不断上升,即使我没有得到其他数字正确..我该如何解决这个问题?我是否可以在每个 if 语句中添加中断,或者是否可以完全退出 do while 循环?
public class GuessingGame {
public static void main(String[] args) {
int guess,numDigitsCorrect=0,sumDigitsCorrect=0,attempts=0,answer;
Random rng = new Random();
Scanner consoleScanner = new Scanner(System.in);
answer = rng.nextInt(90000) + 10000;
System.out.println("I have randomly chosen a 5-digit code for you to guess.Each time you guess,\n"
+ "I will tell you how many digits are correct and the sum of the digits that are correct."
+ "For example, if the number is \"68420\" and you guess 12468, I will respond:\n"
+ "Number of Digits Correct: 1\n"
+ "Sum of Digits Correct: 4\n"
+ "From deduction, you will know the 4 was correct in the guess."
+ "\nNow its your turn..................................................................");
do{
System.out.print("Please enter a 5-digit code (your guess): ");
guess = consoleScanner.nextInt();
int g1 = guess/10000;
int g2 = guess%10000/1000;
int g3 = guess % 10000 % 1000 / 100;
int g4 = guess % 10000 % 100 /10;
int g5 = guess % 10000 % 10 / 1;
int a1 = answer/10000;
int a2 = answer%10000/1000;
int a3 = answer % 10000 % 1000 / 100;
int a4 = answer % 10000 / 100 / 10;
int a5 = answer % 10000 % 10 / 10;
if(g1 == a1)
{
numDigitsCorrect ++;
sumDigitsCorrect += a1;
System.out.println("\nNumber of digits correct: " + numDigitsCorrect) ;
System.out.println("Sum of digits correct: " + sumDigitsCorrect);
System.out.println();
}
if(g2 == a2)
{
numDigitsCorrect ++;
sumDigitsCorrect += a2;
System.out.println("Number of digits correct: " + numDigitsCorrect) ;
System.out.println("Sum of digits correct: " + sumDigitsCorrect);
System.out.println();
}
if (g3 == a3)
{
numDigitsCorrect ++;
sumDigitsCorrect += a3;
System.out.println("Number of digits correct: " + numDigitsCorrect) ;
System.out.println("Sum of digits correct: " + sumDigitsCorrect);
System.out.println();
}
if (g4 == a4)
{
numDigitsCorrect ++;
sumDigitsCorrect += a4;
System.out.println("Number of digits correct: " + numDigitsCorrect) ;
System.out.println("Sum of digits correct: " + sumDigitsCorrect);
System.out.println();
}
if (g5 == a5)
{
numDigitsCorrect ++;
sumDigitsCorrect += a5;
System.out.println("Number of digits correct: " + numDigitsCorrect) ;
System.out.println("Sum of digits correct: " + sumDigitsCorrect);
System.out.println();
}
if(guess == answer)
{
System.out.println("****HOORAY! You solved it. You are so smart****");
break;
}
}while (guess != answer);
}
}
最佳答案
有一些问题需要修复 -
确保您的 a4
、a5
正确
int a4 = answer % 10000 % 100 / 10; // note the modulus
int a5 = answer % 10000 % 10; // note divided by 1 or remove the redundant statement
将 print 语句从 if
block 移至 do
block 内所有 if 的末尾,如下所示 -
if (g1 == a1) {
numDigitsCorrect++;
sumDigitsCorrect += a1;
}
... //other if statements
if (guess == answer) {
System.out.println("****HOORAY! You solved it. You are so smart****");
break;
}
System.out.println("Number of digits correct: " + numDigitsCorrect);
System.out.println("Sum of digits correct: " + sumDigitsCorrect);
而且由于您已经进行了检查
if (guess == answer) {
System.out.println("****HOORAY! You solved it. You are so smart****");
break;
}
在您的 do
中,您可以将 while 条件更改为 true
作为 -
do {
... your existing code
} while(true);
回答
Would i be able to add breaks in each of the if statements
如果你这样做,即使是一个数字匹配,你的循环也会退出(中断)。
重要的是要修复计数器,请将 do block 内的计数器初始化为
do {
numDigitsCorrect = 0;
sumDigitsCorrect = 0;
.. // existing logic
}
关于java - 我的猜谜游戏计数器不断上升,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42731341/
我问我任务buildDependent是否还会建立第一级依赖项目的依赖项。 其他受抚养者不是过渡依赖于最初的项目吗? 为了更好地理解我的意思:D-> A <-B <-C 项目B和D是A的第一层依赖,而
function hoverimgon(elem){ $(elem).find('.credentials-popup').slideDown(800); }
我有一个数据集,其中每一行代表某些行为的发生次数。这些列代表设定时间量的窗口。它看起来像这样: +----------+----------+----------+----------+-------
这是我在这个网站上要问的第一个问题,如果我的处理方式有误,请务必告诉我。 无论如何,在我创建的对象 (dog) 中,我有一个“实时”函数,它通过使用 javascript 的 setInterval
我的网站上有一个谷歌图表,它是一个折线图。但是我的 Y 轴数据值只会以整数形式增加,所以我不想在 Y 轴上有“4.5”值,如您所见: 如果有人能指出正确的方向,我将不胜感激! 最佳答案 您应该使用以下
我有一个错误,当显示键盘并且切换键盘顶部的预测文本框时, View 会弹出,让用户看到黑屏。发生这种情况的原因是因为我使用了 -= 运算符,每次调用此方法时都会使值复合。该方法可以连续调用多次。我正试
我知道如何通过为父级执行 position:absolute 和为子级执行 position:relative 来将 div 堆叠在 div 之上,但是我如何制作一个 div从另一个分区“升起”?我想
我正在使用最新版本的 ionic 2。我的代码有一个 里面有一个文本输入。当我尝试在 Android 上输入内容时,整个页面都会被键盘向上推。 html文件
我正在使用最新版本的 ionic 2。我的代码有一个 里面有一个文本输入。当我尝试在 Android 上输入内容时,整个页面都会被键盘向上推。 html文件
我正在尝试解析 truetype 字体以构建和存储每个字体大小的上升部分、下降部分,我正在使用 http://nodebox.github.io/opentype.js/这做得非常出色,但我不明白如何
我的布局需要 windowSoftInputMode= adjustmentRezise,以便我的按钮与键盘一起上升。但我不希望我的 BottomNagivationView 受到此影响。我该如何解决
This answer不适用于 WebView,this doesn't任何一个。所以这个问题是专门针对使用 WebView 的。下面的代码加载了一个带有文本输入字段的网页。单击文本输入字段时,会出现
我在将 onOptionsItemSelected 与 Android Studio 的默认“设置 Activity ”(扩展 AppCompatPreferenceActivity)一起使用时遇到问
我是一名优秀的程序员,十分优秀!