欢迎访问宙启技术站
智能推送

nextLine()函数读取用户输入的的一行内容?

发布时间:2023-06-03 08:42:59

nextLine() 函数是 Java 语言中 Scanner 类中的常用方法之一,用于读取用户通过控制台输入的一行内容。有时候我们需要从控制台获取用户的输入,而用户输入的格式可能是不确定的,此时就需要用到 nextLine() 方法。

实际上,nextLine() 函数是从 Scanner 类继承来的,Scanner 是一个非常常用的类,它可以用来读取不同数据类型的数据,包括字符串、整数等。在使用 nextLine() 函数之前,我们需要先创建一个 Scanner 对象,就像下面这样:

Scanner input = new Scanner(System.in);

这行代码创建了一个 Scanner 对象,并将其与标准输入流(即控制台输入)相关联。现在我们可以使用 nextLine() 函数来读取用户输入了。下面是一个示例,在控制台上读取一个用户输入的字符串:

import java.util.Scanner;

public class ReadInput {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Enter a string: ");
        String userInput = input.nextLine();

        System.out.println("You entered: " + userInput);
    }
}

在这个示例中,我们创建了一个 Scanner 对象 input,并使用 System.in 将其与标准输入流相关联。然后,我们使用 System.out.print() 方法打印出提示用户输入的信息,然后使用 input.nextLine() 方法来读取用户输入的一行字符串。最后,我们将用户输入的字符串打印出来。

nextLine() 函数有很多应用场景,比如我们可以用它来读取用户输入的文件路径,网址等。例如,我们可以编写一个程序,从用户输入的网址中提取出域名:

import java.util.Scanner;

public class ExtractDomain {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Enter a URL: ");
        String url = input.nextLine();

        String domain = extractDomain(url);
        System.out.println("Domain: " + domain);
    }

    public static String extractDomain(String url) {
        int startIndex = url.indexOf("//") + 2;
        int endIndex = url.indexOf('/', startIndex);
        return endIndex == -1 ? url.substring(startIndex) : url.substring(startIndex, endIndex);
    }
}

在这个示例中,我们首先从用户读取一个网址,然后调用 extractDomain() 函数来提取出网址中的域名部分。由于 Java 中字符串是不可变的,我们需要使用 substring() 方法来获取子字符串。

nextLine() 函数也可以使用在循环中,以读取多个用户的输入。例如,如果我们想要求用户输入若干个数字,并计算它们的和,可以这样做:

import java.util.Scanner;

public class SumNumbers {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        int sum = 0;
        while (true) {
            System.out.print("Enter a number (or 'quit' to exit): ");
            String userInput = input.nextLine();

            if (userInput.equals("quit")) {
                break;
            }

            try {
                int num = Integer.parseInt(userInput);
                sum += num;
            } catch (NumberFormatException e) {
                System.out.println("Invalid input. Please enter a number.");
            }
        }

        System.out.println("Sum: " + sum);
    }
}

在这个示例中,我们首先定义一个整型变量 sum,并将其初始化为 0。然后在循环中,我们不断地要求用户输入一个数字(或输入 quit 退出程序)。我们使用 nextLine() 方法来读取用户输入的字符串,并使用 Integer.parseInt() 方法将其转换为整型。如果用户输入的不是数字,而我们又使用 parseInt() 转换,会抛出异常,我们在 catch 块中捕获该异常并提示用户重新输入。

总结:

nextLine() 函数是 Java 语言中 Scanner 类的一个方法,用于读取用户通过控制台输入的一行文本。在使用 nextLine() 函数之前,我们需要先创建一个 Scanner 对象,并将其与标准输入流(即控制台输入)相关联。可以将 nextLine() 函数直接应用于需要读取一行文本的场景中,比如文件路径、网址等。如果需要多次读取用户输入并进行处理,可以将 nextLine() 函数嵌入到循环语句中。所以,nextLine() 函数是 Java 编程中必须掌握的一个方法之一。