我的老师要我们在控制台周围做一个字母'o'。字母“o”已编码为出现在控制台屏幕的中央。我已经创建了movingRight和movingDown方法,但是我在创建movingLeft和movingUp方法时遇到了困难。这是我的代码:
import java.util.Scanner;
public class Main {
static String letter = "\n\n\n\n O";
String whenmovingup = letter.substring(0, 1);
char whenmovingleft = letter.charAt(letter.length() - 2);
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print(letter);
input.nextLine();
if (input.equals("left")) {
movingLeft();
}
if (input.equals("right")) {
movingRight();
}
if (input.equals("up")) {
movingUp();
}
if (input.equals("down")) {
movingDown();
}
}
public static void movingRight(){
letter = " " + letter;
}
public static void movingDown(){
letter = "\n" + letter;
}
public static void movingLeft(){
letter.remove(whenmovingleft);
}
public static void movingUp(){
letter.remove(whenmovingup);
}
}
我遇到了删除whenmovingfeft和从原始字符串字母中移出子字符串的问题。它给出了一个错误('方法删除(char)未定义类型String'),我不确定需要做什么。
有谁知道如何解决这个问题? 提前感谢所有回复。
答案 0 :(得分:1)
字符串没有remove
方法。但是,有replace
方法可以执行您想要的操作。请注意,它不会修改字符串对象,但会返回一个新字符串。所以你会这样做:
letter = letter.replace(whenmovingup, "");
请注意replace
有两个略有不同的重载,它们会根据您是否要求它删除String
或char
来执行不同的操作。 replace(String, String)
方法替换一个出现,而replace(char, char)
替换所有出现。您只想要一个,因此将whenmovingleft
声明为String
并对其进行适当的初始化。