Итерация по строке и сравнение результата с другой строкой с использованием .equals (Java) - PullRequest
0 голосов
/ 20 января 2020
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", и если это так, то я вызову соответствующий метод и используйте число после «f, m или h» в качестве аргумента, вызывая метод с индексом найденного буквенного символа + 1.

for (int i = 0; i < TerrainInput.length(); i++){
    char j = TerrainInput.charAt(i);

    if j.**equals(**"m") {
        //landscape.mountain(int [j+1])
    }
}

. Проблема в том, что .equals не работает поговорка Cannot resolve method 'equals(java.lang.String)'

Ответы [ 2 ]

0 голосов
/ 20 января 2020

Java отличается от Python и JavaScript. charAt не возвращает String, он возвращает char (исключительно символ). Поэтому вы не можете сравнить его с String. Если вы напишите символ в одинарных кавычках, это будет char, например: 'a'. Кроме того, char является примитивным типом, так что вы можете сравнить с ==.

0 голосов
/ 20 января 2020

j - это символ, а не строка. Символы сравниваются с использованием ==, а не equals

if (j == 'm')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...