我的代码:
import java.util.*;
class asd {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Welcome Valued player, take your guess!");
int min = 0;
int max = 100;
int input;
int c = 21;
int count = 0;
int userscore = 0;
int dealerscore = 0;
int gamesplayed = 0;
Random rand = new Random();
int r = rand.nextInt(max - min) + min;
input = sc.nextInt();
System.out.println("computer's number:" + r);
if (Math.abs(input - c) <= Math.abs(r - c)) {
System.out.println("the winner is the user!" + input);
dealerscore++;
gamesplayed++;
} else {
System.out.println("the winner is the computer!" + r);
userscore++;
gamesplayed++;
}
if (input == c) {
System.out.println("thank you for playing. you won.");
}
if (r == c) {
System.out.println("Thank you for playing:" + userscore);
System.out.println(userscore);
}
if (input == 0) {
System.out.println("Number of hands played:" + gamesplayed);
System.out.println("Dealer won:" + dealerscore);
System.out.println("User won:" + userscore);
}
while (input != c && r != c)
gamesplayed++;
}
// TODO code application logic here
}
一切正常,但我不能让循环在任何地方工作。
你需要一个包含游戏逻辑的while循环。条件应该只检查输入!=c
。
然后在循环内部,不断询问用户输入。此外,在添加分数时,您混淆了userscore
和dealerscore
。
然后在结束时,一旦你从循环中出来,你就可以打印分数/统计数据了。
import java.util.*;
public class MyClass {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Welcome Valued player, take your guess!: ");
int min = 0;
int max = 100;
int input;
int c = 21;
int count = 0;
int userscore = 0;
int dealerscore = 0;
int gamesplayed = 0;
Random rand = new Random();
int r = rand.nextInt(max - min) + min;
input = sc.nextInt();
/*
This loop runs the game until the user enters 21
*/
while (input != c) {
System.out.println("Computer's number:" + r);
if (Math.abs(input - c) <= Math.abs(r - c)) {
System.out.println("The winner is the user! " + input);
userscore++; //You mixed up userscore and dealerscore
} else {
System.out.println("The winner is the computer! " + r);
dealerscore++; //You mixed up userscore and dealerscore
}
/*
User needs to keep entering guesses
*/
System.out.println();
System.out.println("Enter another guess: ");
r = rand.nextInt(max - min) + min;
input = sc.nextInt();
}
/*
You don't need any conditions since the games have already ended
But it should be outside and after the loop
*/
System.out.println("Number of hands played:" + gamesplayed);
System.out.println("Dealer won:" + dealerscore);
System.out.println("User won:" + userscore);
}
}
这段代码是为一个基本的杂货计算器的按钮。当我按下按钮时,一个输入对话框显示您在哪里输入您的商品价格。我遇到的问题是,我不知道如何获得循环,使输入对话框在输入后弹出。 我希望它总是回来,除非用户选择ok与nothing或cancel,在这种情况下,循环应该中断并填充剩余的框。使用当前的代码,我必须每次手动按下按钮来恢复对话框。我一直在玩不同的while条件和if语句,但我似乎无法让它发挥作用。我是一
while循环开始之前的语句没有打印,并且从1开始没有打印循环中的值。相反,它从一个随机的大int开始打印。
问题内容: 我的Java应用程序在编译代码时遇到问题,它说它找不到符号 roomLength 。应用程序应该执行的操作是提示用户输入房间名称,然后如果该房间名称为“退出”,则必须关闭该程序。否则会提示输入房间的长度,宽度和高度。如果这些尺寸中的任何一个等于或小于零,它将再次提示输入尺寸。 这是我的主要方法。 提前致谢!;) 还有一个几乎与此问题类似的问题,只是它应该循环回到第一个提示,允许用户输入
我已经有几年没有编写代码了,一直在编写简单的Java程序来重新熟悉基本原理。然而,我很难让我的do-while循环按照我想要的方式运行。我想我并不完全理解do-while循环是如何工作的,但我想要的是从System.in中收集作为int的用户输入,并在他们输入其他数据表单时继续请求有效的int输入。我所拥有的是: 这不起作用有两个原因。首先,如果我输入一个非int值,它会立即崩溃,引发输入不匹配异
我正在编写一个 Java 程序。它应该打印出年终账户余额,今年投资,年度回报和年度数量。前任: 第一年-投资10000美元,投资额为10%,最终投资额为11000美元第二年-在现有11000美元的基础上再投资10000美元,现在你有21000美元,年回报率为2100美元,最终投资额为23100美元,持续投资6年。 我的代码打印了所有6年,但与第一年的值相同。循环有什么问题吗?非常感谢。这里我的代码
我正在努力解决FreeCodeCamp的一个挑战。但我正在尝试以更实用的方式编写代码。因此,挑战是求所有小于或等于给定数字的奇数斐波那契数的和。我试图避免for循环,并尝试使用本主题中公认的答案:如何在不进行尾部调用优化的情况下,用函数式编程替代while循环? 但我不明白为什么这不起作用。我错过了什么?我对这一点很陌生,如果答案太简单,我很抱歉。