Java 如何使用数组查找直方图?
在我错的地方使用数组构建/输出直方图 此代码从数组中的用户获取5个输入,并显示星星数,例如,如果用户输入3,则会显示***,依此类推。我错在哪里Java 如何使用数组查找直方图?,java,arrays,optimization,methods,data-visualization,Java,Arrays,Optimization,Methods,Data Visualization,在我错的地方使用数组构建/输出直方图 此代码从数组中的用户获取5个输入,并显示星星数,例如,如果用户输入3,则会显示***,依此类推。我错在哪里 public class P20 { public static void main(String[] args) { int[] anArray; int Number; //setup variable value anArray = new int [10]; System.out.println("Enter
public class P20 {
public static void main(String[] args) {
int[] anArray;
int Number;
//setup variable value
anArray = new int [10];
System.out.println("Enter some numbers between 1 and 100.");
for (int i = 0; i < 10; i++) {
System.out.println(i);
anArray[0] = 1-9;
anArray[1] = 10-19;
anArray[2] = 20-29;
anArray[3] = 30-39;
anArray[4] = 40-49;
anArray[5] = 50-59;
anArray[6] = 60-69;
anArray[7] = 70-79;
anArray[8] = 80-89;
anArray[9] = 90-100;
if(anArray > 0) {
System.out.println("*"+Number );
else if(anArray > 20)
{
System.out.println("**"+Number );
}
else if (anArray > 30)
{
System.out.println("***"+Number );
}
else if (anArray > 40)
{
System.out.println("****"+Number );
}
else if (anArray > 50)
{
System.out.println("*****"+Number ); }
}}
公共类P20{
公共静态void main(字符串[]args){
国际[]无秩序;
整数;
//设置变量值
anArray=新整数[10];
System.out.println(“输入一些介于1和100之间的数字”);
对于(int i=0;i<10;i++){
系统输出打印LN(i);
anArray[0]=1-9;
anArray[1]=10-19;
anArray[2]=20-29;
anArray[3]=30-39;
anArray[4]=40-49;
anArray[5]=50-59;
anArray[6]=60-69;
anArray[7]=70-79;
anArray[8]=80-89;
anArray[9]=90-100;
如果(数组>0){
系统输出打印项次(“*”+编号);
否则,如果(阵列>20)
{
系统输出打印项次(“**”+编号);
}
否则,如果(阵列>30)
{
系统输出打印项次(“***”+编号);
}
否则,如果(阵列>40)
{
系统输出打印项次(“*****”+编号);
}
否则,如果(数组>50)
{
System.out.println(“****”+数字);}
}}
你总是>0
,所以你总是只能得到1倍*
您必须修改if子句,如下所示:
if (anArray > 0 && anArray < 20){
public class P20 //Why don't you try giving names that are easier to remember
{
public static void main(String[] args)
{
for (int i=0; i<args[0]; i++)
{
System.out.print("*");
}
}
此代码从数组中的用户获取5个输入,并显示星星数,例如,如果用户输入3,则会显示***,依此类推。我错在哪里
public class P20 {
public static void main(String[] args) {
int[] anArray;
int Number;
//setup variable value
anArray = new int [10];
System.out.println("Enter some numbers between 1 and 100.");
for (int i = 0; i < 10; i++) {
System.out.println(i);
anArray[0] = 1-9;
anArray[1] = 10-19;
anArray[2] = 20-29;
anArray[3] = 30-39;
anArray[4] = 40-49;
anArray[5] = 50-59;
anArray[6] = 60-69;
anArray[7] = 70-79;
anArray[8] = 80-89;
anArray[9] = 90-100;
if(anArray > 0) {
System.out.println("*"+Number );
else if(anArray > 20)
{
System.out.println("**"+Number );
}
else if (anArray > 30)
{
System.out.println("***"+Number );
}
else if (anArray > 40)
{
System.out.println("****"+Number );
}
else if (anArray > 50)
{
System.out.println("*****"+Number ); }
}}
此代码不接受用户的输入
您希望用户输入一个值,然后打印他/她写的星星数。您可以这样做:
if (anArray > 0 && anArray < 20){
public class P20 //Why don't you try giving names that are easier to remember
{
public static void main(String[] args)
{
for (int i=0; i<args[0]; i++)
{
System.out.print("*");
}
}
无论如何,让我试着指出您代码中的一些错误: 当你写道: anArray[0]=1-9 你真的想写它的意思是“让数组的第0个元素是数字1减去9”(=-8) 或者您是否打算输入一个间隔?(表示从1到9的数字) 后来你说 如果(数组>0)
这对我来说没有意义,因为anArray是int[]变量,而不是int变量。这意味着数组不是直接指向数字的变量,而是指向包含多个int值的数组对象的变量。当用户输入3时,还是当用户输入30时,您需要添加***?如果是30,则它将打印30*您需要以某种方式获取输入,然后在循环内部执行此操作:
anArray[input/10]++;
你能用java制作星号*的直方图吗?用户将接受输入,如果用户输入2,则会显示**