这里有一个问题:
编写一个应用程序,读取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();
}
}
}
我希望这对你正在努力实现的目标有所帮助!
您需要读入五个整数,然后完成后,对它们执行操作。这意味着您需要某种方法来存储所有五个整数。
显而易见的解决方案是将它们存储在一个数组中。
public class Q034_trial
{
public static void main (String[] args)
{
Scanner input = new Scanner (System.in);
int[] nums = new int[5];
for (int i = 0; i < 5; i++)
{
System.out.printf("Enter a number: ");
int num = input.nextInt();
nums[i] = num;
}
}
}
完成此操作后,您只需要对数组中的每个数字进行迭代,即可打印正确数量的星号。
public class Q034_trial
{
public static void main (String[] args)
{
Scanner input = new Scanner (System.in);
int[] nums = new int[5];
for (int i = 0; i < 5; i++)
{
System.out.printf("Enter a number: ");
int num = input.nextInt();
nums[i] = num;
}
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < nums[i]; j++)
System.out.printf("*");
System.out.println();
}
}
}