import java.util.Scanner;
public class Main {
public static void main(String[] args){
Landscape landscape = new Landscape();
Scanner keyboardScanner = new Scanner(System.in);
System.out.println("Enter your terrain: ");
String TerrainInput = keyboardScanner.nextLine();
for (int i = 0; i < TerrainInput.length(); i++){
char j = TerrainInput.charAt(i);
if j.**equals(**"m") {
//landscape.mountain(int [j+1])
}
if j.**equals**("f"){
//landscape.flat(int [j+1])
}
if j.**equals**("h"){
//landscape.hill(int [j+1])
}
}
landscape.print();
程序应该接收一些输入字符串,例如f3,m3,f2,m0,f4,h1,f1
我的计划是迭代每个字符并检查它是否等于“f、m或h”
如果是,那么我将调用适当的方法,并通过使用找到的字母字符的索引 + 1 调用该方法,使用“f、m 或 h”之后的数字作为参数。
for (int i = 0; i < TerrainInput.length(); i++){
char j = TerrainInput.charAt(i);
if j.**equals(**"m") {
//landscape.mountain(int [j+1])
}
}
问题是 .equals 不起作用,它说无法解析方法'equals(java.lang.String)'
最佳答案
j
是一个字符,而不是一个字符串。使用 ==
比较字符,而不是 equals
if (j == 'm')
关于java - 迭代字符串并使用 .equals 将结果与另一个字符串进行比较 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59817883/