如何在while循环中增加charAt值

时间:2015-06-03 02:59:40

标签: java

我试图找到一种方法来增加使用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);
}

2 个答案:

答案 0 :(得分:2)

<强>观

  • 接受整数
  • 使用mod 10逐位提取

示例代码:

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


注意:我的回答是基于您对&#34的要求;我试图让它输入您输入的值(即3124)并连接每个值然后将它们一起添加。因此,基于该示例,它将给出值10。&#34;

答案 1 :(得分:0)

对您的计划进行一些修改:

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);
}

Here's a working version