迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

防止 Java 中的 Orphaned Case 错误

作者:迹忆客 最近更新:2023/11/13 浏览次数:

本文解释了如何防止 Java switch 语句中的孤立大小写错误。它将在示例中演示 switch 案例,并使用 Scanner 输入流使示例更加动态。


Java 中的 Orphaned Case 错误

在 Java 中,孤立错误并不常见。它与 switch 语句一起出现。

常见错误及解决方法:

  1. Scanner 无法解析为类型。 - 如果你的编译器抛出此错误,则意味着你必须导入:import java.util.Scanner; 来使用这个功能。
  2. java.util.InputMismatchException - 如果检索到的令牌与指定类型的序列不匹配,或者如果令牌超出预期类型的​​范围,Scanner 将抛出此错误。

Java 中避免 switch 大小写错误的最佳实践

我们将语法示例放在以下代码块中,以避免所有 switch 语句的错误。

不正确:

Switch(demo);
{
  Case(demo);
  Case;

正确的:

switch (demo) {
  case 1: // for integer type
  case "String": // for string type

最佳实践:

  1. 你的 case 应该在你的 switch 语句中。
  2. 永远不要在 case 语句中应用条件。
  3. 声明一个类型,然后将它传递给你的 switch。不要指望 switch 自行确定你的类型。

代码:

// Int Example
int num = 0;
switch (num) {
  case 1: // your code
    break; // if the condition is true, the case breaks
}
// String Example
String str = "A";
switch (str) {
  case "str": // our code
    // break;
}

让我们用 switch 案例制作出色的程序,同时避免罕见的孤立错误,如果现在很清楚的话。


使用 Java Scanner 输入流获取用户输入

以下是你应该了解的一些其他方法和参数,以充分理解此示例。

  1. Scanner - 创建一个新的 Scanner 扫描提供的输入流并返回值。
  2. next(); - 此 Scanner 查找并返回下一个完整标记 ("")
  3. nextInt(); - 它将输入的下一个标记扫描为 int

参数:要扫描的数据流。

语法:

import java.util.Scanner;
public static void main(String[] args) {
  // Extend Scanner in Java
  Scanner demo = new Scanner(System.in);
  System.out.println("Print Something");
  String a = demo.next(); // used for string
  int b = demo.nextInt(); // used for integers
}
//(System.in): Theinput stream.

我们只是在 Scanner 的帮助下获取输入流并将其分配给 demo 变量。


在 Java 中使用 Scanner 获取用户输入并应用 switch 案例

示例 1:

// example1
package AvoidError;
import java.util.Scanner;
public class PreventOrphanedCaseErrorExample1 {
  @SuppressWarnings("resource")
  public static void main(String[] args) {
    Scanner demo = new Scanner(System.in);
    System.out.println("A");
    System.out.println("B");
    System.out.println("C");
    System.out.println("D");
    String a = demo.next();
    switch (a) {
      case "A":
        System.out.println("You chose A");
        break;
      case "B":
        System.out.println("You chose B");
        break;
      case "C":
        System.out.println("You chose C");
        break;
      case "D":
        System.out.println("You chose A");
        break;
      default:
        System.out.println("You did not choose any value!");
        break;
    }
  }
}

输出:

使用 Scanner 获取用户输入并应用 Switch Case


Java 中在 switch 中使用 while 循环重复获取用户数据

这个例子的不同之处只是一种更动态的方法,我们还将使用 equals(); 方法,它比较字符串。

如果 true,则返回给定对象;否则,它返回 false。仔细检查以下代码。

示例 2:

// Example 2
package AvoidError;
import java.util.Scanner;
public class PreventOrphanedCaseErrorExample2 {
  public static void main(String[] args) {
    try (Scanner nxt = new Scanner(System.in)) {
      while (true) {
        System.out.println("1: Fruits");
        System.out.println("2: Vegies");
        System.out.println("3: Chicken");
        System.out.println("Please select your choice!");
        String i = nxt.next();
        switch (i) {
          case "1":
            System.out.println("You chose Fruits");
            break;
          case "2":
            System.out.println("You chose Vegies");
            break;
          case "3":
            System.out.println("You chose Chicken");
            break;
          default:
            System.out.println("Sorry! You did not choose from given options");
        }
        System.out.println("Do you want to repeat this operation?");
        String REPEAT = nxt.next();
        if (!REPEAT.equals("YES")) {
          break;
        }
      }
    }
  }
}

输出:

在 Switch 中使用 While 循环,重复获取用户数据

我们存储了 nxt.next(); 在字符串 REPEAT 中,然后设置一个简单的条件来检查 equals(); 函数返回 true。在这种情况下,它返回字符串的 YES;因此,我们在 switch 语句中使用点得到了一个更加动态的程序。

通过这种理解,你可以使用一些 Java 和 switch 语句函数来做任何事情。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Java 中的 volatile 关键字

发布时间:2023/11/13 浏览次数:173 分类:Java

本文讨论了 Java 中的 volatile 关键字及其优缺点,并举例说明了如何使用。Java 是一种非常流行的编程语言,通过了解 Java,我们可以很容易地理解它为什么会在编程社区中获得这样的地位。

Java 中的 StringUtils

发布时间:2023/11/13 浏览次数:80 分类:Java

本文介绍 Java 中的 StringUtils 类是什么。本文介绍什么是 StringUtils 以及如何在 Java 中使用它来处理字符串。StringUtils 是一个用于处理 String 的类,它提供了比 Java String 类更多的实用方法。

Java 中的 flatMap

发布时间:2023/11/13 浏览次数:132 分类:Java

本文介绍 flatMap 以及如何在 Java 中使用它。本文介绍 flatMap 以及如何在 Java 中使用它。flatMap 是 Java 流中的一个操作/函数,用于在执行某些功能性任务后获取新流。在这里,我们将讨论 flatMap

在 Java 中将 Stream 元素转换为映射

发布时间:2023/11/13 浏览次数:77 分类:Java

我们将使用 Java 将流元素转换为映射。我们将向你展示如何使用 Collectors.toMap() 从 Java 字符串中提取映射。我们将讨论 Java Streams 的实际用途以及如何将流元素转换为映射元素。

Java 中的 findFirst 流方法

发布时间:2023/11/13 浏览次数:171 分类:Java

本教程介绍 Java 中的 findFirst 流方法。java.util.stream API 是在 Java 8 中引入的;它用于处理对象的集合。不同的源(例如数组或集合)可以创建流。

Java 中的 Stream 的 reduce 操作

发布时间:2023/11/13 浏览次数:147 分类:Java

本文介绍 Java 中 stream 的 reduce 操作。本文将讨论 reduce() 操作细节并讨论它的一些示例。在讨论 reduce() 操作之前。让我们首先讨论减少。

Java 中的 reflection 是什么

发布时间:2023/11/13 浏览次数:79 分类:Java

本文介绍了 reflection 以及如何在 Java 中使用它。本文介绍 reflection 以及如何在 Java 中使用它。Java 有一个 reflection API 特性,它允许我们检查和修改类、接口等。

修复 Java 未解决的编译错误

发布时间:2023/11/13 浏览次数:141 分类:Java

本文介绍如何修复 Java 中未解决的编译错误。Java 在三个组件上工作:JVM、JRE 和 JDK。JVM(Java 虚拟机)在物理上并不存在,它提供了运行字节码的环境。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便