当前位置: 首页 > 知识库问答 >
问题:

我的程序中的InputMismatchException处理?-JAVA

魏健柏
2023-03-14

很抱歉,我对Java还是一个新手,我试图通过在线帮助来解决这个问题。我正在尝试一个try/catch来处理“输入学生的作业成绩”之后的InputMismatchException(以防他们输入的是字母而不是数字)。到目前为止还没有结果。要实现这一点,代码应该是什么样子的?

package exceptionHandling;
import java.util.Scanner;
import java.util.InputMismatchException;

public class ExceptionHandling {

public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    double total=0;     
    System.out.println("Enter the number of homework assignments:");
    int homeworkGrades = scan.nextInt();
    double hw[]=new double[homeworkGrades];

    System.out.println("Enter the homework grades for the student:");
    for (int hw2=0;hw2<hw.length;hw2++){
        hw[hw2]=scan.nextDouble();
    }
        for(int i=0;i<hw.length;i++){
            total=total+hw[i];
        }   

    scan.close();
    double average=total/homeworkGrades;
    System.out.println("The average homework grade is "+average);
    if (average < 101 && average >= 90) {
        System.out.println("A");
    }
        else if (average < 90 && average >= 80) {
            System.out.println("B");
        }
            else if (average < 80 && average >= 70) {
                System.out.println("C");
            }
            else if (average < 70 && average >= 60) {
                System.out.println("D");
            }
            else if (average < 60) {
                System.out.println("F");
        }
}

编辑:不,伙计们,重复扫描仪不是我的问题。我无法成功处理InputMismatchException,我已经尝试了几个小时。请救命!

共有1个答案

乐正穆冉
2023-03-14

您可以使用以下代码更改代码:Old code:hw[hw2]=scan.nextdouble();

新代码:HW[hw2]=Double.ValueOf(Scan.Next().Trim());

 类似资料:
  • 问题内容: 如果我在.NET中没有记错的话,可以为未处理的异常注册“全局”处理程序。我想知道Java是否有类似的东西。 问题答案: 是的,有,但只有在没有设置时才会触发。

  • 如何更正此代码?谢谢

  • 出于某种未知原因,当用户输入为字符串或特殊字符时,它不会捕获我的异常(扫描仪只接受整数和从1到3)。代码如下: 代码的结果是: 我搞不懂

  • 1.1 异常处理的基本使用 try: <语句块1> except: <语句块2> try 捕获异常 except 发生异常时执行 try: <语句块1> except <异常类型名字>: <语句块2> except <异常类型名字> 发生对应异常时才会执行 1.2 异常处理的高级使用 try: <语句块1> except

  • 问题内容: 在给定系统上的所有Web应用程序之间,我们都有一些通用的日志记录配置,我们试图将其外部化为tomcat级别,而不是尝试在单个Web应用程序级别进行处理。事实证明,正在使用的Web应用程序具有一定的挑战性,因为我们有一个自定义处理程序,而且似乎没有一种明显的方法可以使该自定义处理程序与tomcat的类加载器完美配合。目前,这一切都在原型阶段。 初步:Tomcat 7.0.32,Java6

  • 问题内容: 如果我在http处理程序中启动goroutine,即使返回响应后它也会完成吗?这是一个示例代码: 在上面的示例中,goroutine是否会在所有情况下都完成?还是有什么特殊情况无法完成? 问题答案: 是的,它会完成,没有什么可以阻止它。 停止goroutine完成 “从外部” 完成的唯一事情就是从函数返回(这也意味着完成程序的执行,但是这种情况永远不会发生)。其他导致不稳定状态的情况,