java的scanner怎樣簡(jiǎn)化輸入操作

小樊
81
2024-09-24 01:19:06
欄目: 編程語言

Java的Scanner類提供了一系列方法來簡(jiǎn)化輸入操作。以下是一些常用的方法:

  1. nextLine():讀取一行文本,包括空格。這是最常用的方法之一。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請(qǐng)輸入一行文本:");
        String input = scanner.nextLine();
        System.out.println("你輸入的是:" + input);
    }
}
  1. nextInt():讀取一個(gè)整數(shù)。如果輸入的不是整數(shù),會(huì)拋出InputMismatchException異常。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請(qǐng)輸入一個(gè)整數(shù):");
        int number = scanner.nextInt();
        System.out.println("你輸入的整數(shù)是:" + number);
    }
}
  1. nextDouble():讀取一個(gè)雙精度浮點(diǎn)數(shù)。如果輸入的不是雙精度浮點(diǎn)數(shù),會(huì)拋出InputMismatchException異常。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請(qǐng)輸入一個(gè)雙精度浮點(diǎn)數(shù):");
        double decimal = scanner.nextDouble();
        System.out.println("你輸入的雙精度浮點(diǎn)數(shù)是:" + decimal);
    }
}
  1. nextFloat():讀取一個(gè)單精度浮點(diǎn)數(shù)。如果輸入的不是單精度浮點(diǎn)數(shù),會(huì)拋出InputMismatchException異常。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請(qǐng)輸入一個(gè)單精度浮點(diǎn)數(shù):");
        float singleDecimal = scanner.nextFloat();
        System.out.println("你輸入的單精度浮點(diǎn)數(shù)是:" + singleDecimal);
    }
}
  1. nextBoolean():讀取一個(gè)布爾值。如果輸入的不是布爾值(“true"或"false”),會(huì)拋出InputMismatchException異常。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請(qǐng)輸入一個(gè)布爾值(true或false):");
        boolean flag = scanner.nextBoolean();
        System.out.println("你輸入的布爾值是:" + flag);
    }
}
  1. next():讀取下一個(gè)輸入的token(標(biāo)記)。token可以是任何數(shù)據(jù)類型,具體取決于輸入的數(shù)據(jù)。這個(gè)方法需要配合nextLine()方法使用,以便在讀取下一個(gè)token之前消耗掉換行符。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請(qǐng)輸入一行文本:");
        scanner.nextLine(); // 消耗換行符
        System.out.println("請(qǐng)輸入一個(gè)整數(shù):");
        int number = scanner.nextInt();
        System.out.println("你輸入的整數(shù)是:" + number);
    }
}
  1. hasNext():檢查是否還有下一個(gè)輸入的token。這個(gè)方法可以用來判斷是否已經(jīng)到達(dá)輸入的末尾。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請(qǐng)輸入一行文本:");
        scanner.nextLine(); // 消耗換行符
        if (scanner.hasNextInt()) {
            System.out.println("請(qǐng)輸入一個(gè)整數(shù):");
            int number = scanner.nextInt();
            System.out.println("你輸入的整數(shù)是:" + number);
        } else {
            System.out.println("沒有下一個(gè)整數(shù)");
        }
    }
}

0