在Java中基于另一个int更改int
最近,当我遇到一些变量的问题时,我正试图为javascript自动编码在Java中基于另一个int更改int,java,variables,Java,Variables,最近,当我遇到一些变量的问题时,我正试图为javascript自动编码 Scanner scan = new Scanner(System.in); System.out.print("Enter x start coordinate: "); int xCoord = scan.nextInt(); System.out.print("Enter y start coordinate: "); int yCoord = scan.nextInt(); String more = "y"; in
Scanner scan = new Scanner(System.in);
System.out.print("Enter x start coordinate: ");
int xCoord = scan.nextInt();
System.out.print("Enter y start coordinate: ");
int yCoord = scan.nextInt();
String more = "y";
int num1 = 0 + xCoord;
int num2 = 5 + yCoord;
int num3 = 13 + xCoord;
int num4 = 10 + yCoord;
System.out.println("ctx.moveTo(" + num1 + "," + num2 + ");"
+ "\nctx.lineTo(" + num3 + "," + num4 + ")\n"
+ "Mid Point: " + num3 + "," + num4);
System.out.print("Again?: ");
more = scan.next();
while (more.equals("y"))
{
System.out.println("Enter a direction (above, left, right): ");
String nextDir = scan.next();
if (nextCube.equals("right"))
{
xCoord += 13;
yCoord += 5;
}
else if (nextDir.equals("left"))
{
xCoord -= 13;
yCoord += 5;
}
else if (nextDir.equals("above"))
{
yCoord -= 18;
}
System.out.println("ctx.moveTo(" + num1 + "," + num2 + ");"
+ "\nctx.lineTo(" + num3 + "," + num4 + ")\n"
+ "Mid Point: " + num3 + "," + num4);
System.out.print("Again?: ");
more = scan.next();
}
我发现,在询问前进方向后,xCoord和yCoord变量会发生变化,但“num”变量不会随新值一起更新。我知道在Java中依赖变量是如何工作的,我的思维过程肯定有问题,但我不知道是什么。救命啊 可能需要更新循环中的“num”变量,如:
while (more.equals("y"))
{
...
// Add below codes
num1 = 0 + xCoord;
num2 = 5 + yCoord;
num3 = 13 + xCoord;
num4 = 10 + yCoord;
System.out.println("ctx.moveTo(" + num1 + "," + num2 + ");"
+ "\nctx.lineTo(" + num3 + "," + num4 + ")\n"
+ "Mid Point: " + num3 + "," + num4);
System.out.print("Again?: ");
more = scan.next();
}
你用过调试器吗?当你说“因变量”时,听起来好像你认为当xCoord改变时num1会以某种方式动态更新?不知道为什么会出现所有的否决票。这是一个初学者的问题,基于对变量声明如何工作的基本误解,但它包含了回答该问题所需的所有元素。@user2316502非常感谢:-)