簡體   English   中英

使用 for 循環打印數組元素

[英]Printing array elements with a for loop

這是我的在線教科書中的一個挑戰問題,我只能得到要打印的數字...:(

編寫一個 for 循環以打印 courseGrades 中的所有元素,每個元素后跟一個空格(包括最后一個)。 向前打印,然后向后打印。 以換行符結束每個循環。 例如:如果 courseGrades = {7, 9, 11, 10},打印:7 9 11 10 10 11 9 7

提示:使用兩個 for 循環。 第二個循環以 i = NUM_VALS - 1 開始。

注意:這些活動可能會測試具有不同測試值的代碼。 此活動將執行兩個測試,第一個使用 4 元素數組 (int courseGrades[4]),第二個使用 2 元素數組 (int courseGrades[2])。

import java.util.Scanner;

 public class CourseGradePrinter {
 public static void main (String [] args) {
  final int NUM_VALS = 4;
  int[] courseGrades = new int[NUM_VALS];
  int i = 0;

  courseGrades[0] = 7;
  courseGrades[1] = 9;
  courseGrades[2] = 11;
  courseGrades[3] = 10;

  /* Your solution goes here  */

  for(i=0; i<NUM_VALS; i++){
     System.out.print(courseGrades[i] + " ");
  }

  for(i=NUM_VALS -1; i>3; i++){
     System.out.print(courseGrades[i]+ " ");
     }

  return;
}
}

這是回答zyBooks 6.2.3中的問題的代碼:使用for循環打印數組元素。

 for (i = 0; i < NUM_VALS; i++) {
     System.out.print(courseGrades[i] + " ");
 }
 System.out.println("");

 for (i = NUM_VALS - 1; i >= 0; i--) {
    System.out.print(courseGrades[i] + " ");
 }

 System.out.println(""); 

您的兩個循環幾乎是正確的。 嘗試使用以下代碼:

for (int i=0; i < NUM_VALS; i++) {
    // this if statement avoids printing a trailing space at the end.
    if (i > 0) {
        System.out.print(" ");
    }
    System.out.print(courseGrades[i]);
}

for (int i=NUM_VALS-1; i >= 0; i--) {
    if (i > 0) {
        System.out.print(" ");
    }
    System.out.print(courseGrades[i] + " ");
}

要向后打印:

for(i = NUM_VALS - 1; i >= 0; i--) {
    System.out.print(courseGrades[i] + " ");
}
// To end with a newline
System.out.println("");

我也一直在研究這個教科書問題。 上面代碼的問題是 i 已經被賦值了,所以嘗試在 for 循環中使用 int 會導致錯誤。 下面是我用來成功實現預期結果的代碼。

for ( i = 0 ; i <NUM_VALS; ++i) {
     if (i > 0) {
        System.out.print(""); 
     }
     System.out.print(courseGrades[i] + " ");
  }
  System.out.println("");
  
  for ( i = NUM_VALS -1; i >=0; --i) {
     if (i > 0) {
        System.out.print(""); 
     }
     System.out.print( courseGrades[i] + " ");
  }
     System.out.println();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM