簡體   English   中英

將一維數組變成二維數組

[英]making a 1d array into a 2d array

我的作業是將 1d 數組變成 2d 數組,但我似乎無法讓它工作。

=- 這些是我得到的錯誤

Car.java:7: error: not a statement
    String[] [] carList = new String[8][2];  {"Honda","Ford","Lamborghini","Subaru","Saturn","Nissan","BMW","Porsche", "Chevy", "VW", "Kia", "Audi", "Ram"}; 
                                              ^

Car.java:7: error: ';' expected
    String[] [] carList = new String[8][2];  {"Honda","Ford","Lamborghini","Subaru","Saturn","Nissan","BMW","Porsche", "Chevy", "VW", "Kia", "Audi", "Ram"}; 
                                                     ^
2 errors

這是我的代碼

//Car.java

import java.util.Scanner;

public class Car {
    public static void main(String[] args) {
    String[] [] carList = new String[8][2];  {"Honda","Ford","Lamborghini","Subaru","Saturn","Nissan","BMW","Porsche", "Chevy", "VW", "Kia", "Audi", "Ram"}; 
 
// Declaring array literal
       
        Scanner scanner = new Scanner(System.in);
        String carMake = "";
        

        for (int i = 0; i < 3; i++) {

            System.out.print("What car do you want to buy?: ");

            carMake = scanner.nextLine();
            
            while (carMake.isEmpty()){

                System.out.print("Input should not be empty, try again: ");

                carMake = scanner.nextLine();
                // starting loopdeloop 
                
            }
             for (int j = 0; j <= carList.length - 1; j++){
            
            if (carMake.equalsIgnoreCase(carList[j])) {
            System.out.println(j + " " + carMake);
            
           
  // code block to be executed..... for his war crimes
            
            } else {
            System.out.println("404 Car make not found..... look behind you");}
            
          
            
        }
        

            }
            for (int l = 0; l <= carList.length - 1; l++) {
            System.out.print(carList[l] + " ");}
                   
    }
}

我認為你需要先研究如何初始化一個二維數組,然后再研究如何遍歷一個二維數組。

你沒有在這里正確初始化修復這個

String[] [] carList = new String[8][2];  {"Honda","Ford","Lamborghini","Subaru","Saturn","Nissan","BMW","Porsche", "Chevy", "VW", "Kia", "Audi", "Ram"};
  1. 您正在使用單個循環遍歷二維數組,這是錯誤的

     for (int j = 0; j <= carList.length - 1; j++){ if (carMake.equalsIgnoreCase(carList[j])) { System.out.println(j + " " + carMake); }}

這里有幾個例子,如果它是一維數組那么它是一個線性列表所以它會是這樣的

String fruits[] = {"apple","banana","orange"}

但是當它是一個二維數組時,你必須把它當作一個表 ex:-

String[][] cars = { {"lamborghini","price 1 million"}, {"skoda","50k"}};

如果它是一個一維數組那么for循環就足夠了如果它是一個二維數組那么你必須使用2個變量ex:

    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
         print(cars[i][j])
    }
}


     

要顯示您的二維數組,您必須這樣設置它:

String[] [] carList = {{"Honda","Ford","Lamborghini","Subaru","Saturn","Nissan","BMW","Porsche"},{"Porsche", "Chevy", "VW", "Kia", "Audi", "Ram","Lamborghini","Subaru",}}; 
  

要遍歷這個二維數組,你必須使用兩個 for 循環:

for (int i = 0 ; i < 2 ; i++){
    for (int j = 0 ; j < 7 ; j++){
     System.out.println(carList[i][j]);
    }
}

或者如果你不需要一個二維數組(這似乎你不在這里),請不要使用它:

String[] carList = {"Honda","Ford","Lamborghini","Subaru","Saturn","Nissan","BMW","Porsche","Porsche", "Chevy", "VW", "Kia", "Audi", "Ram","Lamborghini","Subaru",};

因為這是一個一維數組,所以你可以使用一個 for 循環遍歷它:

for (int i = 0 ; i < carList.length /*16*/ ; i++){
    System.out.println(carList[i]);
}

在數組初始值設定項之前有一個額外的分號:

    String[] [] carList = new String[8][2];  {"Honda","Ford","Lamborghini","Subaru","Saturn","Nissan","BMW","Porsche", "Chevy", "VW", "Kia", "Audi", "Ram"}; 
                                          ^ here

去掉它。

暫無
暫無

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

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