我正在为课堂做一次分配,我无法弄清楚我需要更改什么以及确切的位置。我开始更好地理解所有这些如何一起工作。但是,我尝试了很多我认为可能起作用的变体,但是它们从未发现我的意图。
我已经通过跟踪和错误正确地工作了的前5件代码,但是第六代码/问题我无法弄清楚。
我创建2D数组的初始代码是:
public static void main(String[] args) {
int[][] numbers = {{1,1,1,1,1},{2,2,2,2,2},{3,3,3,3,3},{4,4,4,4,4},{5,5,5,5,5}};
//made this to go around Scanner to save time/workload
for(int rows = 0; rows < 5; rows++) {
for(int columns = 0; columns < 5; columns++) {
}
}
和我遇到麻烦的代码是:
System.out.println("2) Your entered values are now : ");
System.out.println( );
for(int rows = 0; rows < 5; rows++) {
for(int columns = 0; columns < rows + 1; columns++) {
System.out.print(numbers [rows][columns]);
} // will replace w/ System.out.print("*"); to get asterisks instead of numbers
System.out.println( );
}
/*needs to Output ***** Outputs 1
**** 22
*** 333
** 4444
* 55555 */
我已经在代码中分开了所有6个问题,它们都从相同的输入(INT Number [5] [5])中流出,并使用了类似代码。它们彼此之间都显示在一个页面上。
您使用的循环打印2D数组的方式
您以错误的方式进行
您可以通过将此条件columns < rows + 1
更改为内部循环的columns < 5 - rows
来解决它:
for(int rows = 0; rows < 5; rows++) {
for(int columns = 0; columns < 5 - rows; columns++) {
System.out.print(numbers [rows][columns]);
} // will replace w/ System.out.print("*"); to get asterisks instead of numbers
System.out.println( );
}
您需要行计算4到0而不是0到4。请随时在此处发表评论,如果需要,我会提供其他帮助。
@maybe_factor
弄清楚那部分很容易。我们已经弄清楚了最初发布一个小时后的问题。
这是新代码:
System.out.println("6) Your entered numbers are now : ");
System.out.println( );
for(int rows = 0; rows < 5; rows++) {
for(int columns = 0; columns < 5- rows ; columns++) {
System.out.print("*");