我们被要求创建一个具有给定值的简单直方图,但我的代码似乎不起作用。我真的需要这方面的帮助。 编辑:当我运行它时会出现此错误:
(Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5` at Exercise39_Histogram.main(Exercise39_Histogram.java:13) Process completed)
代码:
public class Exercise39_Histogram
{
public static void main(String args[])
{
int el[]= new int[]{0, 1, 2, 3, 4, 5};
int val[] = new int[]{10, 3, 6, 18, 11, 1};
String ast[] = new String[5];
ast[0] = "**********";
ast[1] = "***";
ast[2] = "******";
ast[3] = "******************";
ast[4] = "***********";
ast[5] = "*";
System.out.println("Elements\tValue\tHistogram");
System.out.print(el[0]+"\t"+val[0]+"\t"+ast[0]);
System.out.print(el[1]+"\t"+val[1]+"\t"+ast[1]);
System.out.print(el[2]+"\t"+val[2]+"\t"+ast[2]);
System.out.print(el[3]+"\t"+val[3]+"\t"+ast[3]);
System.out.print(el[4]+"\t"+val[4]+"\t"+ast[4]);
System.out.print(el[5]+"\t"+val[5]+"\t"+ast[5]);
}
}
最佳答案
当您创建数组时,将其大小设置为 5,
String ast[] = new String[5];
但当你使用后者时
ast[5] = "*";
您试图保存索引为 6 的数据,因为数组索引从 0 开始。您应该将数组的大小更改为 6。
为了获得正确的显示,您可能需要使用:
System.out.println
显示所有直方图,否则它们将全部显示在同一行中。
关于java - 使用数组创建具有给定值的直方图帮助请:(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35156706/