java: next () 和 nextLine ()

Não diga nada, vamos para o código e descobrir primeiro:
Código 1:

package demo;

import java.util.Scanner;

public class TextNext {
    
    
	public static void main(String[] args) {
    
    
		Scanner input = new Scanner(System .in);
		System.out.println("请输入str1:");
		String str1 = input.next();
		System.out.println("请输入str2:");
		String str2 = input.nextLine();
		System.out.println("str1:" + str1);
		System.out.println("str2:" + str2);
	}
}

Insira um espaço e pressione Enter
Insira a descrição da imagem aqui
. Há um espaço entre os caracteres e
Insira a descrição da imagem aqui
insira os caracteres diretamente.
Insira a descrição da imagem aqui
Código 2:

package demo;

import java.util.Scanner;

public class TextNext {
    
    
	public static void main(String[] args) {
    
    
		Scanner input = new Scanner(System .in);
		System.out.println("请输入str1:");
		String str1 = input.nextLine();
		System.out.println("请输入str2:");
		String str2 = input.nextLine();
		System.out.println("str1:" + str1);
		System.out.println("str2:" + str2);
	}
}

Insira um espaço primeiro e adicione um espaço entre os caracteres.
Insira a descrição da imagem aqui
Insira os caracteres e pressione Enter
Insira a descrição da imagem aqui
diretamente.
Insira a descrição da imagem aqui
Com base nos resultados da execução do código acima, podemos resumir as seguintes conclusões:
1. Ao usar next () para receber caracteres de teclado, se você inserir um espaço antes, insira a tecla, a tecla Tabd será omitida, ou seja, a entrada será realizada somente quando next () ler o conteúdo válido;
2.next () irá inserir a tecla de espaço, Enter e a tecla Tab após a leitura do caractere válido. É considerada um separador ou terminador, então next () não pode receber uma string com espaços;
3. O terminador de nextLine () é apenas a tecla Enter, e você pode usar nextLine ( ) para obter uma string com espaços;
4. Preste atenção ao usar os dois métodos juntos: Ao usar next () e nextLine (), pode haver casos em que o valor de str2 não pode ser inserido no código 1, porque nextLine () lê automaticamente a tecla Tab e a barra de espaço em next (), O conteúdo por trás da tecla Enter, e nextLine () pode receber espaços, então haverá casos em que str2 não pode ser digitado no teclado. A solução é usar nextLine () após o próximo ().

Acho que você gosta

Origin blog.csdn.net/qq_43825377/article/details/106342998
Recomendado
Clasificación