gpt4 book ai didi

java - 在 Java 中通过用户输入显示形状

转载 作者:行者123 更新时间:2023-12-02 07:28:49 27 4
gpt4 key购买 nike

我正在尝试创建一个程序,通过用户输入显示形状并将其输出到窗口。我有一个单独的类来定义形状和图形窗口,但是我无法弄清楚如何获取形状的用户输入。总的来说,我对 Java 和 OOP 很陌生。到目前为止,这是我的代码:

import java.util.Scanner;

public class Input {
public static void main(String [] args) {
GraphicsScreen g = new GraphicsScreen();
Scanner s = new Scanner(System.in);
int val1 = 0;
int val2 = 0;
String line;
String [] sut;
System.out.println("Please enter your commands here. Type 'end' to quit.");
line = s.nextLine();

while ( line.equalsIgnoreCase("end"));

sut = line.split(", ");
line = sut [0];
if (sut.length > 1) {
val1 = Integer.parseInt(sut[1]);
if (sut.length > 2) {
val2 = Integer.parseInt(sut[2]);
}
}
if (line.equals("moveTo" + val1 + val2)) {
g.moveTo(val1, val2);
}
else if (line.equals("lineTo" + val1 + val2)) {
g.lineTo(val1, val2);
}
else if (line.equals("circle" + val1)) {
g.circle(val1);
}
else {
System.out.println("The commands you have entered are invalid. Please try again.");
}
}
}

基本上,顶部定义的 int 必须设置为一个值,否则 Eclipse 将返回编译器错误,因此我将它们设置为零。在最后一个 IF 语句中,我尝试连接末尾的值,但这显然会导致形状为零值。

我该如何更改此设置,以便用户定义 val1val2 并将结果输出到窗口?

最佳答案

if (line.equals("moveTo" + val1 + val2)) {
g.moveTo(val1, val2);
}

这不应该是

if (line.equals("moveTo")) {
g.moveTo(val1, val2);
}

您已经用逗号分隔了行。

关于java - 在 Java 中通过用户输入显示形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13187308/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com