-3

所以我试图做交叉求和:321=6 因为 3+2+1=6 但是我遇到了一个我可以用我的代码找到的问题,并希望其他人可以帮助我找到它

import java.util.*;
public class Thewierdo {

    public static void main(String[] args) {
     Scanner Tinput = new Scanner (System.in);
     System.out.print("input number for cross-sum examination: ");
Double Tin = Tinput.nextDouble();
int m = 0;
if (Tin.isNaN()){
System.out.print("actual whole number please: ");
Tin = Tinput.nextDouble();
    }else{
        int cool = Tin.intValue();
        String gotcha= String.valueOf(cool);
int heads = gotcha.length();

while(heads >= 0){
    System.out.println(gotcha.charAt(1));
    char Tails=gotcha.charAt(heads);
    int finald = Character.getNumericValue(Tails);


    heads=heads-1;
 m += finald;
//made by Christian Risom
}
System.out.print(m);    
    }
    }

}
4

2 回答 2

0

您检查它是否是有效数字的方式不起作用。如果输入不能被解释为双精度,则会在 Tinput.nextDouble() 上引发错误。

正如其他人所说,阅读您的错误并进行调试。您可能还有其他问题。

于 2013-10-01T13:38:41.333 回答
0

这是我的解决方案,我相信你可以让它更简单,但是你去:

public static int cross_sums(int input) {
    int output = 0;
    do {
        output += input % 10;
        input /= 10;
    } while (input > 0);

    if (output > 9) {
        output = cross_sums(output);
    }
    return output;
}
于 2016-01-12T15:35:03.510 回答