[英]StringIndexOutOfBoundsException while loop with charat()
[英]How to increase charAt value inside a while loop
我正在嘗試找到一種方法來增加使用charAt的值,但希望能夠在while循環內進行更新。 下面是我當前的代碼。 我嘗試在循環內部重新創建變量,並在末尾添加++以增加值,但是我收到意外的類型錯誤。
我試圖讓它接受您輸入的值(即3124)並連接每個值,然后將它們加在一起。 因此,基於該示例,它的值為10。
public static void main(String[] args) {
int Num, counter, i;
String str1;
str1 = JOptionPane.showInputDialog("Enter any number: ");
Num = str1.length();
counter = 0;
i = Integer.parseInt(Character.toString(str1.charAt(0)));
NumTot = 0;
while (counter <= Num)
{
NumTot = i;
counter++;
i = Integer.parseInt(Character.toString(str1.charAt(0++)));
}
System.exit(0);
}
理念:
示例代碼:
public class IntegerSum {
public static void main(String[] args) {
int i = 3124;
int sum = 0;
while (i > 0) {
sum += i % 10;
i /= 10;
}
System.out.println("Sum: " + sum);
}
}
輸出:
Sum: 10
注意:我的回答是基於您的要求“我正在嘗試讓它輸入一個值(即3124),然后將每個值連接起來,然后將它們相加。因此,根據示例,它的值為10 。”
對您的程序進行了一些修改:
public static void main (String[] args) throws java.lang.Exception
{
int Num, counter, i;
String str1;
int NumTot = 0;
str1 = "3124";
Num = str1.length();
counter = 0;
while (counter < Num)
{
i = Integer.parseInt(Character.toString(str1.charAt(counter)));
NumTot = NumTot + i;
counter++;
}
System.out.println(NumTot);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.