java - 迭代字符串并使用 .equals 将结果与另一个字符串进行比较 (Java)

标签 java string if-statement intellij-idea string-comparison

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/

相关文章:

java - Gwt 连接器的单击事件

c - char* 和 char[] 与 strcpy() 的区别

c# - 双引号内的双引号

java - if 和 for 循环之间的空指针区别

Java android baseAdapter 设置列表项一次

java - 从静态 block 调用 Java Main 方法

java - 使用Eclipse导入maven项目会出现问题吗(Windows > Ubuntu)

java - 正则表达式排除 2 个单词

javascript - js如果数组中的任何值小于或大于值

python - 输入变量后的 If 语句打印