Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用数组查找直方图?_Java_Arrays_Optimization_Methods_Data Visualization - Fatal编程技术网

Java 如何使用数组查找直方图?

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

在我错的地方使用数组构建/输出直方图

此代码从数组中的用户获取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 ); } 
 }}
公共类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,则会显示**