好的,这是一个代码,应该能够打印出一个数组,并说出数字0-9通过扫描仪输入了多少次,如果给出一个负数,关键是停止程序并打印所有内容out,并且你可以看到这个程序非常好,并且我能够用数字打印出所有的数组,但是我想知道如何打印出我的数组作为" x"而不是数字?让我们说数字5被输入5次它应该打印出来:"数字5出现xxxxx次,同样如果数字1被按下1次,它应该打印出来"数字1出现x次。有关如何做到这一点的任何提示/解决方案?提前致谢。 (编辑idk为什么星星图标会消失,但我们可以说我想要x代替。
import java.util.Scanner;
public class q31{
public static void main(String args[]) {
System.out.println(1 + ":" + "\t" + "Integer 0-9");
Scanner keyboard = new Scanner(System.in);
int[] a = new int [10];
int counter=0;
int input;
input=keyboard.nextInt();
boolean exit=true;
while (exit==true) {
counter++;
System.out.println((counter+1)+":" + "\t" + "Integer 0-9");
if (input>-1 && input <10){
a[input]++;
}
input=keyboard.nextInt();
if(input<0) {
exit=false;
for(int i = 0; i < a.length; i++)
{
System.out.println("the number " + i + " appears " + a[i] + "times");
}
}
}
}
答案 0 :(得分:2)
尝试更改
System.out.println("the number " + i + " appears " + a[i] + "times");
到
System.out.print("the number " + i + " appears ");
for(int n = 0; n < a[i]; n++)
System.out.print("x");
System.out.println(" times");
答案 1 :(得分:1)
您需要使用数组a[i]
中位置i处的数字来控制循环。循环可以为每次迭代执行System.out.print("x")
。
下面有一些代码 - 我已经把循环的实现留给了你,因为我猜这可能是作业。
System.out.print("the number " + i + " appears ");
//create loop
System.out.print("x");
// end loop
System.out.println(" times");