public static void main(String[] args) {
int num = 1;
//i is how many numbers per row
for(int i = 1; i < 5; i++){
//prints i numbers because j increases from 0 to i, incrementing num each time
for(int j = 0; j < i; j++){
System.out.print(num++);
}
System.out.println();
}
}
此代碼將滿足您的需要。
現在,如果您想更好地理解Java並瞭解編譯器爲什麼會在代碼中拋出錯誤,請閱讀。你不應該使用stackoverflow複製粘貼別人的代碼而不理解它。在你的代碼中,你聲明瞭i
和j
兩次。在Java中,你不能兩次聲明一個變量。你首先在int i,j, num = 1;
中完成,然後再次在循環for (int i = 1; i <= lines; i++)
中進行。你可以通過說for(i = 1; i <= lines; i++)
來解決這個問題。請注意0在for
循環的第二個版本中的排除方式。當申報類型,你可以簡單地在一個賦值給變量for循環,而不是你創建一個新的變量int i = 1
的for循環的語法是:
for(initialization; Boolean_expression; update)
{
//Statements
}
初始化步驟是首先執行,並且只執行一次。這一步允許你聲明和初始化任何循環控制變量。只要出現分號,您無需在此處發表聲明。
對於您收到的數組超出範圍錯誤,您嘗試讀取語句中的命令行參數int n = Integer.parseInt(args[0]);
請注意主方法的參數String[] args
。這些被稱爲命令行參數,如果您從命令行手動運行程序,則可以傳入這些參數。您正嘗試閱讀args[0]
,這是在args[]
的範圍之外。
換句話說,如果您運行
java MyProgram one two
然後ARGS包含:
[ 「一」, 「二」]
public static void main(String [] args) {
String one = args[0]; //=="one"
String two = args[1]; //=="two"
}
你傳遞_any_命令行參數的程序? –
我是新來的編碼先生。所以我不知道你在做什麼關於..請解釋我的函數的命令行參數 – user2502227
您正在閱讀'args [0]'。你期望什麼是它的價值? –