Java如何输入字符串

Java是一种面向对象的编程语言,提供了多种方法来输入字符串。本文将介绍几种常用的方法,并给出相应的代码示例。

1. 使用Scanner类

Scanner类是Java中用于读取输入的工具类,可以方便地从控制台或文件中读取字符串。下面是使用Scanner类读取字符串的示例代码:

import java.util.Scanner;

public class InputStringExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入字符串:");
        String input = scanner.nextLine();
        System.out.println("您输入的字符串是:" + input);
        scanner.close();
    }
}

上述代码中,我们先创建了一个Scanner对象,然后使用nextLine()方法读取输入的字符串。nextLine()方法会读取一行输入,直到遇到换行符为止。

2. 使用BufferedReader类

BufferedReader类是Java中用于读取字符流的类,可以用来读取控制台输入的字符串。下面是使用BufferedReader类读取字符串的示例代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class InputStringExample {
    public static void main(String[] args) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("请输入字符串:");
        try {
            String input = reader.readLine();
            System.out.println("您输入的字符串是:" + input);
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,我们首先创建了一个BufferedReader对象,然后使用readLine()方法读取输入的字符串。readLine()方法会读取一行输入,直到遇到换行符为止。

3. 使用JOptionPane类

JOptionPane类是Java中提供的一个图形化对话框类,可以用来输入字符串。下面是使用JOptionPane类输入字符串的示例代码:

import javax.swing.JOptionPane;

public class InputStringExample {
    public static void main(String[] args) {
        String input = JOptionPane.showInputDialog("请输入字符串:");
        JOptionPane.showMessageDialog(null, "您输入的字符串是:" + input);
    }
}

上述代码中,我们使用showInputDialog()方法显示一个输入对话框,并等待用户输入字符串。然后使用showMessageDialog()方法显示一个消息对话框,显示用户输入的字符串。

总结

本文介绍了Java中几种常用的输入字符串的方法,包括使用Scanner类、BufferedReader类和JOptionPane类。根据具体需求选择合适的方法进行输入。以上代码示例可以直接在Java开发环境中运行,并测试输入字符串的功能。


以下是本文的甘特图和类图:

甘特图

gantt
    dateFormat  YYYY-MM-DD
    title Java输入字符串甘特图

    section 输入字符串
    输入方法1           :done,    des1, 2022-06-01, 2022-06-02
    输入方法2           :done,    des2, 2022-06-01, 2022-06-02
    输入方法3           :done,    des3, 2022-06-01, 2022-06-02

    section 测试
    测试输入方法1         :done,    test1, 2022-06-03, 2022-06-04
    测试输入方法2         :done,    test2, 2022-06-03, 2022-06-04
    测试输入方法3         :done,    test3, 2022-06-03, 2022-06-04

类图

classDiagram
    class Scanner {
        <<class>>
        +Scanner(InputStream source)
        +String nextLine()
    }

    class BufferedReader {
        <<class>>
        +BufferedReader(Reader in)
        +String readLine()
    }

    class InputStreamReader {
        <<class>>
        +InputStreamReader(InputStream in)
    }

    class JOptionPane {
        <<class>>
        +static String showInputDialog(Component parent, Object message)
        +static void showMessageDialog(Component parent, Object message)
    }

    class InputStringExample {
        <<class>>
        +main(String[] args)
    }

    class System {
        <<class>>
        +static final InputStream in
        +static final PrintStream out
    }

    class String {
        <<class>>
    }

    class IOException {
        <<class>>
    }

    class Component {
        <<class>>
    }

    Component <|-- JOptionPane
    System <|-- InputStringExample
    BufferedReader <|-- InputStringExample