-3

以下に示すように、解析されたintで奇数と偶数の数字の合計を見つけるこのプログラムがあります。私のプログラムは現在、右から左への合計を見つけています。代わりに、最後の桁から (つまり、左から右に) 開始するようにするにはどうすればよいですか?

    out.print("Please enter a number: ");
    String s = in.nextLine();
    int x = Integer.parseInt(s);
    int y = 0;
    int e = 0;
    int o = 0;
    while (x != 0) {
        y = x % 10;
        out.print(y + " ");
        if (y % 2 == 0) {
            e = e + y;
            out.print(e + " ");
        } else {
            o = o + y;
            out.print(o + " ");
        }
        x = x / 10;
    }
    out.println("sum of odd: " + o);
    out.println("sum of even: " + e);

私は一種の無限ループで走っています

      out.print("Please enter a number: ");
    String s = in.nextLine();
    double x = Integer.parseInt(s);
    double y = 0;
    double e = 0;
    double o = 0;
    double length = Math.pow(10, s.length() - 1);
    while (x != 0) {
        y = x / length;
        if (y % 2 == 0) {
            e = e + y;
        } else {
            o = o + y;
        }
        x = x % length;
    }
    out.println("sum of odd: " + o);
    out.println("sum of even: " + e);
4

1 に答える 1