java - Java条形图打印程序
问题描述
这是问题:
编写一个读取 1 到 30 之间的五个数字的应用程序。对于读取的每个数字,您的程序应该显示相同数量的相邻星号。例如,如果你的程序读取数字 7,它应该显示 *******。读完所有五个数字后显示星号条。
这是我的代码:
package Assignment.Q034;
import java.util.Scanner;
public class Q034_trial
{
public static void main (String[] args) {
Scanner input = new Scanner (System.in);
int num;
num = 1-30;
for (int i=0; i<5; i++)// system asks for no more than 5 numbers
{
System.out.printf("Enter a number: ");
num = input.nextInt();
}
for (int j=0; j<num; j++)
{
System.out.printf("*");
}
System.out.println();
}
}
使用的程序 IDE:Apache Netbeans IDE 12.4
该代码不确定任何错误,但是当我运行和调试它时,输出显示如下:
Enter a number: 1
Enter a number: 2
Enter a number: 3
Enter a number: 4
Enter a number: 5
*****
但我需要的输出是:
Enter a number: 1
Enter a number: 2
Enter a number: 3
Enter a number: 4
Enter a number: 5
*
**
***
****
*****
我是java编程新手。请帮我找到解决方案。
解决方案
您可以尝试将它们单独分解并尝试合并这样的方法或将这些想法用于您的项目:
import java.util.Scanner;
public class Array {
public static void main(String[] args){
Array asteriskGenerator = new Array();
int nb[]=new int[5];
Scanner input = new Scanner (System.in);
for(int i=0;i<5;i++)
{
System.out.print("Please, Enter a number between 1 - 30 ");
nb[i]=input.nextInt();
}
input.close();
asteriskGenerator.asteriskGenerator(nb);
}
void asteriskGenerator(int nb[])
{
for(int i = 0; i < nb.length; i++)
{
for(int j=1;j<=nb[i];j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
我希望这对您要完成的工作有所帮助!
推荐阅读
- python - 在我的 Pycharm CE 中找不到探查器选项
- reactjs - 如何调用路由路径 2,3,后跟 5,6,如果是 5,6,我应该重定向到另一个页面
- coq - 如何找到两个值之间的相等关系
- javascript - 将文本添加到 MapBox 标记
- python - corr() 函数的问题:nan 产生
- docker - 如何在 docker 环境中部署 Angular 应用程序
- java - 类作为另一个类中的实例字段
- python - 邮递员发出 JWT 令牌请求失败
- amazon-web-services - 我是 AWS Cloud 的新手,我正在为嵌套堆栈的概念而苦苦挣扎
- c++ - 您如何在语法方面使 std::variants 的使用更“可口”?