当前位置: 首页 > 面试题库 >

Java中基于控制台的进度

赫连棋
2023-03-14
问题内容

有没有简单的方法可以在控制台中显示Java流程的滚动百分比?我有一个在特定过程中生成的百分比数据类型(双精度),但是我可以将其强制到控制台窗口并刷新,而不是为每个新的百分比更新打印一行新内容吗?我正在考虑推送cls和进行更新,因为我在Windows环境中工作,但是我希望Java具有某种内置功能。欢迎所有建议!谢谢!


问题答案:

您可以打印回车符\r以将光标放回到行首。

例:

public class ProgressDemo {
  static void updateProgress(double progressPercentage) {
    final int width = 50; // progress bar width in chars

    System.out.print("\r[");
    int i = 0;
    for (; i <= (int)(progressPercentage*width); i++) {
      System.out.print(".");
    }
    for (; i < width; i++) {
      System.out.print(" ");
    }
    System.out.print("]");
  }

  public static void main(String[] args) {
    try {
      for (double progressPercentage = 0.0; progressPercentage < 1.0; progressPercentage += 0.01) {
        updateProgress(progressPercentage);
        Thread.sleep(20);
      }
    } catch (InterruptedException e) {}
  }
}


 类似资料:
  • 问题内容: 我正在寻找一个高效的Swing Java组件,可以将其插入应用程序UI。我已经尝试使用Swing中的类,例如JTextArea,但是没有用;它们根本不够高性能,并且具有任何严重的缺点。此外,如果它具有标准的控制台功能,如滚动锁定,清晰的控制台,颜色等,那就太好了。 编辑:忘了说了,这个控制台将有很多调试信息流入其中,并且它需要完全可滚动。 克里斯,干杯 问题答案: 我看不到使用JTex

  • 问题内容: 所有, 我已经用Java编写了基于命令行的PhoneBook应用程序。该应用程序基本上会询问用户的一些详细信息,例如姓名,年龄,地址和电话号码,并将它们存储在文件中。其他操作包括按名称,电话号码等查找电话簿。所有详细信息都通过控制台输入。 我正在尝试为我已实现的每个功能编写JUnit测试用例,但无法弄清楚如何将实现代码重定向到我的JUnit测试方法中的某个东西,当我的实际代码停止供用户

  • 问题内容: 我编写了一个简单的控制台应用程序,使用ftplib从FTP服务器上载和下载文件。 我希望该应用程序向用户展示其下载/上传进度的一些可视化;每次下载数据块时,我都希望它提供进度更新,即使它只是数字表示形式(如百分比)。 重要的是,我要避免擦除在前几行中已打印到控制台的所有文本(即,我不想在打印更新的进度时“清除”整个终端)。 这似乎是一项相当普通的任务-如何在保留先前程序输出的同时,制作

  • 问题内容: 嘿,我一直在用Java在Windows控制台中开发一个应用程序,并希望将其在线发布在所有console-graphics-glory中。 我可以使用一个简单的Web applet API来移植我的应用程序吗? 我仅使用基本的System.out和System.in功能,但是很高兴重建我的I / O包装器。 我认为,对于希望将其工作放在网上的任何新手Java开发人员而言,遵循这些思路将是

  • 本文向大家介绍基于Java中进制的转换函数详解,包括了基于Java中进制的转换函数详解的使用技巧和注意事项,需要的朋友参考一下 十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.val

  • 问题内容: 通过控制台进行任何输入的数据类型(如我使用BufferedReader类所做的那样)为String。之后,我们将其类型转换为需要查询的数据类型(如Inter.parseInt()为整数)。但是在C语言中,我们可以接受任何输入原始数据类型,而在Java中,所有输入类型都是Neccerily String。为什么是这样? 问题答案: 控制台输入实际上以一系列字节而不是字符串的形式读入。这是