将夜行_ 2023-03-21 10:27 采纳率: 100%
浏览 39
已结题

Java err输出时错行

求解错误输出流 System.out.println() 和 System.err.println()
当使用out输出时会正常输出,但使用err时就会错行,下面是代和输出结果
.
代码如下:

public static void main (String[] args) {
        Scanner in = new Scanner(System.in);
        boolean okay;
        do {
            System.out.print("请输入一个数字:");
            if (in.hasNextDouble()) {
                okay = true;
            } else {
                okay = false;
                String word = in.next();
                System.out.println(word + " 不是一个数字"); 
                //System.err.println(word + " 不是一个数字");
            }
        } while (!okay);
        double x = in.nextDouble();

.
输出结果:
out时:

img

.
err时:

img

  • 写回答

2条回答 默认 最新

  • 关注

    我猜你的意思是让控制台用不同颜色显示,也能看出来你是刚刚在学java,但是建议不要把精力花费在调整这个格式上,因为它的用法不是让你区分颜色用的。用out就可以实现提示功能了。
    那个颜色是各种编辑器对out和err者两种流的支持,而不是err本身就带颜色。
    简单的说吧,这俩输出你单独使用都没问题,但是你混合使用的时候,它俩的输出顺序并不是固定的,这个和你写的内容有关。
    它这个输出不是马上输出,是攒到一定量再输出,这个得等你学到流才能明白缓冲区得概念。
    不知道这么说你明白不,给你截几个图看看:

    img

    img


    大概就是顺序你调整不了,所以你没有必要在这里浪费自己的宝贵时间啦,直接用out就好了,后面你还会学到更多实用的log技术呢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月21日
  • 创建了问题 3月21日

悬赏问题

  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系