[英]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"};
您正在使用單個循環遍歷二維數組,這是錯誤的
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.