在不导入任何java库的情况下,如何使柱状图更加糟糕?
我正在为学校做一个直方图项目,它在一个数组中循环,并为给定部分的数字每次出现一个数字时创建一个*。输出应如下所示:在不导入任何java库的情况下,如何使柱状图更加糟糕?,java,histogram,Java,Histogram,我正在为学校做一个直方图项目,它在一个数组中循环,并为给定部分的数字每次出现一个数字时创建一个*。输出应如下所示: 1-10 | ***** 11-20 | **** 21-30 | * 31-40 | *** 41-50 | * 51-60 | * 61-70 | * 71-80 | 81-90 | * 91-100 | ******** 对于以下数组: int数组[]={19,4,15,7,11,9,13,5,45,56,1,67,90,98,32,36,33,25,
1-10 | *****
11-20 | ****
21-30 | *
31-40 | ***
41-50 | *
51-60 | *
61-70 | *
71-80 |
81-90 | *
91-100 | ********
对于以下数组:
int数组[]={19,4,15,7,11,9,13,5,45,56,1,67,90,98,32,36,33,25,99,95,97,98,92,94,93,105}
我正试图找出一种方法,使这段代码更加糟糕。然而,我想不出一个解决问题的办法
这是我的密码:
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int array[] = {19, 4, 15, 7, 11, 9, 13, 5, 45, 56, 1, 67, 90, 98, 32, 36, 33, 25, 99, 95, 97, 98, 92, 94, 93, 105};
histogram(array);
}
public static void histogram(int[] input) {
String output1 = new String ();
String output2 = new String ();
String output3 = new String ();
String output4 = new String ();
String output5 = new String ();
String output6 = new String ();
String output7 = new String ();
String output8 = new String ();
String output9 = new String ();
String output10 = new String ();
for (int x = 0; x < input.length; x++) {
if (input[x] <= 100) {
if (input[x] >= 1 && input [x] <= 10) output1 += "*";
if (input[x] >= 11 && input [x] <= 20) output2 += "*";
if (input[x] >= 21 && input [x] <= 30) output3 += "*";
if (input[x] >= 31 && input [x] <= 40) output4 += "*";
if (input[x] >= 41 && input [x] <= 50) output5 += "*";
if (input[x] >= 51 && input [x] <= 60) output6 += "*";
if (input[x] >= 61 && input [x] <= 70) output7 += "*";
if (input[x] >= 71 && input [x] <= 80) output8 += "*";
if (input[x] >= 81 && input [x] <= 90) output9 += "*";
if (input[x] >= 91 && input [x] <= 100) output10 += "*";
}
else {
break;
}
}
System.out.println("1-10 | " + output1);
System.out.println("11-20 | " + output2);
System.out.println("21-30 | " + output3);
System.out.println("31-40 | " + output4);
System.out.println("41-50 | " + output5);
System.out.println("51-60 | " + output6);
System.out.println("61-70 | " + output7);
System.out.println("71-80 | " + output8);
System.out.println("81-90 | " + output9);
System.out.println("91-100 | " + output10);
}
}
公共类主{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
//此处的TODO代码应用程序逻辑
int数组[]={19,4,15,7,11,9,13,5,45,56,1,67,90,98,32,36,33,25,99,95,97,98,92,94,93,105};
直方图(数组);
}
公共静态无效直方图(int[]输入){
String output1=新字符串();
String output2=新字符串();
String output3=新字符串();
String output4=新字符串();
String output5=新字符串();
String output6=新字符串();
String output7=新字符串();
String output8=新字符串();
String output9=新字符串();
String output10=新字符串();
对于(int x=0;x 如果(输入[x]=1&&input[x]=11&&input[x]=21&&input[x]=31&&input[x]=41&&input[x]=51&&input[x]=61&&input[x]=71&&input[x]=81&&input[x]=91&&input[x]既然你可以把它复杂化,为什么要简化呢
public static void main(String[] args) {
int array[] = {19, 4, 15, 7, 11, 9, 13, 5, 45, 56, 1, 67, 90, 98, 32, 36, 33, 25, 99, 95, 97, 98, 92, 94, 93, 105};
histogram(array);
}
public static void histogram(int[] input) {
for(int i = 1; i<101; i = i+10){
System.out.print(i + "-" + (i+9) + "\t| ");
for(int j = 0; j< input.length; j++){
if(input[j] >= i && input[j] < i+10)
System.out.print("*");
}
System.out.println();
}
}
publicstaticvoidmain(字符串[]args){
int数组[]={19,4,15,7,11,9,13,5,45,56,1,67,90,98,32,36,33,25,99,95,97,98,92,94,93,105};
直方图(数组);
}
公共静态无效直方图(int[]输入){
对于(int i=1;i=i&&input[j]
所有那些输出
字符串都在尖叫着要一个字符串数组……或StringBuilder(),对于任何OOP程序来说,一个好的初学者的第一步是用简单的英语描述程序,仔细检查名词(潜在类)和动词(潜在方法),并以此作为起点。“给定一个数字列表,我需要输出一个图表,其中每一行代表一个数字范围,并将输入列表排序到这些范围中,并为一个范围内的每个数字打印一个星号。”(注:我并不是说所有的名词都是类,或者所有的动词都是方法;只要看看它们,想想你可能会如何进行。)哈哈,是的,为什么这么简单?谢谢你的输入。我测试了代码,它确实有效。我以前看到过/t,并考虑过使用它,但我不确定它做了什么。干得好!