Массив Char, введенный пользователем для преобразования строки - PullRequest
0 голосов
/ 26 июня 2018

Запросите у пользователя ввод символов, затем, когда пользователь введет достаточно символов, массив символов будет преобразован в строку и возвращен в виде строки. Не уверен, где я пошел не так, но я думаю, может быть, в цикле.

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class App {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<Character> charIn = new ArrayList<Character>();
        String word;
        boolean cond = false; 

        while (!cond) {
            System.out.print("Please enter a Character: ");
            charIn.add(sc.next().charAt(0));
            if (sc.next() == "0") {
                cond = true;
            }

        }
        word = charIn.toString();
        System.out.println(word);

    }

1 Ответ

0 голосов
/ 26 июня 2018

Каждый раз, когда вы звоните sc.next(), система будет запрашивать ввод данных пользователем. вызовите следующий раз и поместите результат в переменную. Проблема также в проверке равенства строки next == "0". Истинное равенство строковых объектов в java выполняется через метод equals.

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class App {

    public static void main(String[] args) {
            List<Character> charIn = new ArrayList<Character>();
            String word = "";
            boolean cond = false;
            Scanner sc = new Scanner(System.in);

            while (cond == false) {
                System.out.print("Please enter a Character: ");
                String next = sc.next();
                charIn.add(next.charAt(0));
                if ("0".equals(next)) {
                    cond = true;
                }else{
                    cond = false;
                }

            }
            word = charIn.toString();
            System.out.println(word);

        }
}
...