基于int数组和负值的直方图

我有一个问题要问你。

https://stackoverflow.com/questions/14975968/vertical-arrangement-with-asterisk# =

您分享这篇文章的代码非常好。我明天有考试。能不能告诉我解决办法。我在这个程序中编辑了 int 数组。它是 {-1, 2, 5, 3} 但程序没有在 int 数组中打印 (-1) 值。我想当循环读取这个负值时,它会越过新行并打印“*”并将负值打印到它的下划线。

你能告诉我如何在 Java 中做到这一点吗?谢谢你。 https://i.stack.imgur.com/ESsVE.jpg


慕森王
浏览 134回答 1
1回答

慕容708150

公共静态 void main(String[] args) 抛出 IOException {&nbsp; &nbsp; int[] a = new int[] {-1,3,-4,2,5};&nbsp; &nbsp; int[] tmp = a.clone();&nbsp; &nbsp; Arrays.sort(tmp);&nbsp; &nbsp; int max = tmp[tmp.length-1];&nbsp; &nbsp; int low = tmp[0];&nbsp; &nbsp; int last =max;&nbsp; &nbsp; if(low<0) {&nbsp; &nbsp; &nbsp; &nbsp; last=max-low;&nbsp; &nbsp; }&nbsp; &nbsp; for (int i = 0; i < last+1; i++) {&nbsp; &nbsp; &nbsp; &nbsp; for (int j = 0; j < a.length; j++) {&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (i == last ) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.print(a[j]);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else if(i<max){&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (i < max - a[j])&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.print(" ");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.print("*");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (i < max - a[j] )&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.print("*");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.print(" ");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; System.out.println();&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java