这是一个初级Java课程的家庭作业
我试图编写一个程序,从用户那里获取输入,并通过设置健康变量来决定游戏的“难度”。在决定之后,我需要在战斗序列的另一个循环中使用这些新值。第二个序列要求用户选择具有特定值的攻击。我不知道一旦用户选择了合适的攻击,如何改变变量。因为这是家庭作业,我不想要答案,但我应该看看什么方法可以做到这一点的建议将是伟大的。最后一位是什么给我一个错误,说“x可能尚未初始化”。谢谢你的时间,即使你决定不帮忙。这就是我到目前为止所做的: 编辑以关闭括号这是一个初级Java课程的家庭作业,java,Java,我试图编写一个程序,从用户那里获取输入,并通过设置健康变量来决定游戏的“难度”。在决定之后,我需要在战斗序列的另一个循环中使用这些新值。第二个序列要求用户选择具有特定值的攻击。我不知道一旦用户选择了合适的攻击,如何改变变量。因为这是家庭作业,我不想要答案,但我应该看看什么方法可以做到这一点的建议将是伟大的。最后一位是什么给我一个错误,说“x可能尚未初始化”。谢谢你的时间,即使你决定不帮忙。这就是我到目前为止所做的: 编辑以关闭括号 许多结束括号缺失。手工检查代码,并记录每对括号。你会找到关闭它们
许多结束括号缺失。手工检查代码,并记录每对括号。你会找到关闭它们的地方。我建议你格式化你的代码,因为你有很多
{
没有匹配的}
我只会将系统包装在中一次,然后在nextInt()之后调用input.readLine()
来丢弃其余的行。好吧,没有任何东西阻止用户为a
输入除1、2或3以外的任何内容。在这种情况下,x
将不会被初始化。我的建议是删除1条if语句,并使用x
和y
的值作为默认值。e、 g.如果
,则删除第一个,并将其声明为int x=40;int y=75
。您可能应该使用开关
或if-else if
而不是多个if
语句,并在else
块或default:
中处理x
的默认值,如果您在输入不正确的情况下使用开关,谢谢您的建议。尽管我讨厌推荐开关,这将是一个理想的情况。您有一个非常简单的输入,您希望与之匹配(请注意,如果您的只是在检查数字是否相等),并且当用户输入错误的输入时,您需要一个默认大小写(字面意思是大小写默认值:
)。很抱歉,括号已关闭,我省略了每个if语句末尾的打印语句,包括括号结束。在描述问题时,请不要这样做。包括完整的代码。我很抱歉。我没有想到他们失踪了。
import java.util.Scanner;
public class RandomName {
public static void main(String []args) {
int x; //antagonist health
int y;//protagonist health
Scanner input = new Scanner(System.in); //Health of the characters involved.
int a = input.nextInt();
if(a == 1) {
x = 40;
y = 75;
}
if(a == 2) {
x = 50;
y = 50;
}
if(a == 3) {
x = 75;
y = 40;
}
//Ends difficulty block
Scanner console = new Scanner(System.in);
int b = console.nextInt();
if(a == 1) {
x = x -10;
}
}
}