比方說,我們有一個for循環的Java for循環我++作爲一個字符串
for(int i = 0; i < 10; i++) {
...
}
什麼格式的i++
?
我有一個String increment = "i++"
它告訴我多少增量i
通過。 但是,當我只是直接嘗試並將增量字符串作爲增量,它不起作用。我嘗試了下面,但它不起作用。
for(int i = 0; i < 10; increment) {
...
}
我該如何做這項工作?
比方說,我們有一個for循環的Java for循環我++作爲一個字符串
for(int i = 0; i < 10; i++) {
...
}
什麼格式的i++
?
我有一個String increment = "i++"
它告訴我多少增量i
通過。 但是,當我只是直接嘗試並將增量字符串作爲增量,它不起作用。我嘗試了下面,但它不起作用。
for(int i = 0; i < 10; increment) {
...
}
我該如何做這項工作?
增量必須是一個直接的歸屬, 你不能用一個字符串來定義這是不可能的
一個解決方案來動態改變多少將是增量,它使用一個變量
int j=1;
for(int i=0;i<10;i+=j)
+ =操作它用於增量,例如:
int x = 0;
x += 1; //x is 1
x += 3; //x is 4
x += 2; //x is 6
x++; //x is 7
但在大多數情況下,你不需要在AF使用此或循環,你需要做什麼?
擁抱
因此,對於這個,你不能用一個字符串作爲表達。 將有很多方法將字符串映射到表達式。
的方法之一是,你可以使用開關情況:
String increment = "i++";
int i = 0;
while(i < 10)
{
//your logic here
switch (increment){
case "i++":
i++;
break;
case "i=i+2":
i = i + 2;
break;
}
}
您還可以使用正則表達式或解析字符串轉換爲int
您可以在增量字符串解析爲int然後使用作爲您的增量在循環:
String increment = "i+2"; // Will also work for "i++" or "i+n" (n = a number)
String num = increment.replaceAll("i\\+*", "");
int incValue = 1;
if(!num.isEmpty())
incValue = Integer.parseInt(num);
for(int i = 0; i < 10 ; i+=incValue)
{
System.out.println(i);
}
你可以簡單地得到增量次數的字符串,如果你想要做的增量動態,而不是整個增量聲明。這裏有一個例子:
String inc = "2";
String max = "10";
for(int i = 0; i < Integer.valueOf(max); i=i+Integer.valueOf(inc)) {
System.out.println(i);
}
i++
只是代碼:它不是一個字符串像你想象的。
這裏有一個比喻來證明你的假設:
String someString =
"public static void doStuff()
{
System.out.println("this is working");
}";
現在,如果你在一個單獨的方法指的是字符串someString
,你認爲doStuff()方法將被調用?當然不是,因爲String只是解釋器沒有經過的文本。解釋者只能通過可執行代碼,其中包括i++
。
一個字符串不是一個語句,它是一個對象/變量。你究竟想要做什麼? –
本教程可能有助於理解for循環的工作方式; https://www.tutorialspoint.com/java/java_for_loop.htm。 i ++與i = i + 1相同,但我被定義爲一個整數。在引號內有「i ++」是一個字符串,Java不關心那個字符串裏面的內容。它只是Java的一組字符。 –
你的問題不清楚。 「增量」究竟是什麼? – lonesome