从用户输入的字符数组到字符串转换

时间:2018-06-26 11:09:23

标签: java string loops arraylist java.util.scanner

向用户询问char输入,然后当用户输入足够的char后,char数组将转换为string并作为字符串返回。不知道我哪里出错了,但我认为可能是在循环部分。

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 :(得分:-1)

每次调用sc.next()时,sistem都会请求表单用户输入。下一步调用一次并将结果放入变量。 问题还在于检查字符串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);

        }
}