Java求和是一个整数

Java求和是一个整数,java,arrays,Java,Arrays,我想从用户那里读取一个数字,然后对输入数字的最后七位数字求和。最好的方法是什么?这是我的代码,但不幸的是它不起作用: class ersteAufgabe { public static void main (String[] args) { Scanner s = new Scanner(System.in); double [] a = new double[10]; for (int i = 0;i

我想从用户那里读取一个数字,然后对输入数字的最后七位数字求和。最好的方法是什么?这是我的代码,但不幸的是它不起作用:

class ersteAufgabe {
  public static void main (String[] args)
  {
              Scanner s = new Scanner(System.in);
              double [] a = new double[10];
              for (int i = 0;i<10;i++)
              {
                  a[i]=s.nextInt();

                 }
              s.close();
              System.out.println(a[0]);
  }
}

我只希望读取一个数字并将其用作数组。直到现在,他才希望我提供10个输入。

首先,您必须识别输入的值是否是一个数字,并且至少有7位数字。除非您必须输出错误消息。将输入的值转换为字符串并使用类字符.isDigit;检查字符是否为数字。然后您可以使用字符串类中的一些方法,如substring。。。最后,使用错误/有效值进行单元测试,以查看代码是否健壮。使用finally{br.Close}完成后,关闭BufferedReader和资源。在方法中推送代码,并在第一个练习中使用实例类erste Aufgabe。。当您真正完成时,将JFrame用于GUI应用程序

private static final int SUM_LAST_DIGITS = 7;

public void minimalSolution() {
    String enteredValue = "";
    showInfoMessage("Please enter your number with at least " + SUM_LAST_DIGITS + " digits!");
    try (Scanner scan = new Scanner(System.in)) {
        enteredValue = scan.next();
        if (enteredValue.matches("^[0-9]{" + SUM_LAST_DIGITS + ",}$")) {
            showInfoMessage(enteredValue, lastDigitsSum(enteredValue));
        } else {
            showErrorMessage(enteredValue);
        }
    } catch(Exception e) {
        showErrorMessage(e.toString());
    }
}

public int lastDigitsSum(String value) {
    int count = 0;
    for (int i = value.length() - 1, j = 0; i >= 0 && j < SUM_LAST_DIGITS; i--, j++)
        count += value.charAt(i) - '0';
    return count;
}

public void showInfoMessage(String parMessage) {
    System.out.println(parMessage);
}

public void showInfoMessage(String parValue, int parSum) {
    System.out.println("Your entered value: [" + parValue + "]");
    System.out.println("The summed value of the last 7 digits are: [" + parSum + "]");
}

public void showErrorMessage(String parValue) {
    System.err.println("Your entered value: [" + parValue + "] is not a valid number!");
}

请阅读如何创建。然后使用链接改进您的问题,不要通过评论添加更多信息。否则,我们无法回答您的问题并帮助您。不工作。。。当向我们寻求帮助时,这不是一个有效的问题描述。java.util.Scannerok谢谢,现在我使用了java util scanner。你的问题是:我想读一个数字。然而,你有一个循环迭代10次,每次迭代都要问一个数字。你问的是10个号码,不是一个。所以这不可能是对的。退一步,想想你真正被要求做什么。我只想读取一个数字并将其用作数组。只是现在他希望我能提供10点意见。非常感谢。但是我得到了这个错误:线程main java.util.InputMismatchException中的异常:对于输入字符串:3457817948在java.util.Scanner.nextInUnknown Source在java.util.Scanner.nextInUnknown Source在ersteAufgabe.maintersteaufgabe.java:8
public static int lastDigitsSum(int total) {
    try (Scanner scan = new Scanner(System.in)) {
        String str = scan.next();
        int count = 0;

        for (int i = str.length() - 1, j = 0; i >= 0 && j < total; i--, j++) {
            if (Character.isDigit(str.charAt(i)))
                count += str.charAt(i) - '0';
            else
                throw new RuntimeException("Input is not a number: " + str);
        }

        return count;
    }
}