Java输出垃圾?

标签 java garbage

import java.io.BufferedReader;
import java.io.CharArrayReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;


public class Main {

    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub

        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter output = new PrintWriter(System.out);

        String st="";
        String st1; 
        String st2;

        while((st1 = input.readLine()) != null)
        {
            char[] x1 = st1.toCharArray();
            st2 = input.readLine();
            char[] x2 = st2.toCharArray();
            Arrays.sort(x1);
            Arrays.sort(x2);
            st1 = x1.toString();
            st2 = x2.toString();
            output.print(st1.charAt(0));
            output.flush();
        }

        }
    }

输入可以是任意两个字符串。 问题是这段代码输出了垃圾值,那么,这有什么问题呢? 注意:这是部分代码调试,其余代码不附。

最佳答案

x1.toString() 调用 x1 数组上的 toString() 方法。

返回类似[C@33909752的内容。这是 Object.toString() 方法返回的值。

[ - it's an array
C - of type `char`
33909752 - on memory address `33909752`

如果您想基于数组 x1 中的字符构建 String,则必须使用 new String(x1)

关于Java输出垃圾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35775032/

相关文章:

concurrency - 这个chan是怎么泄露的?

Java:序列化导致文件开头出现不需要的字符

javascript - 是什么导致我的控制台崩溃?

java - 垃圾收集器 - 分配失败的解释

java - 如何删除特定对象?

java - 显示随机值

java编译环境不适用于windows

java - 在java插件中从控制台获取输入

java - JDBC getconnection 在 Mac 上不起作用

包含整数的字符串的 Java 比较器