Im Prozess der Programmentwicklung müssen wir häufig den über die Tastatur eingegebenen Wert abrufen. Die C-Sprache stellt uns scanf() zur Verfügung, und C++ stellt uns cin() zur Verfügung, eine vorgefertigte Funktion zum Abrufen der Tastatureingabe Wert. Wie erhält Java also den über die Tastatur eingegebenen Wert? Lassen Sie uns drei Methoden vorstellen.
Methode 1: Empfangen Sie ein Zeichen von der Konsole und drucken Sie es aus
import java.io.*;public static void main(String [] args) throws IOException{ System.out.print("Enter a Char:"); char i = (char) System.in.read(); System.out.println("your char is :"+i); }
Mit dieser Methode wird zwar die Eingabe über die Tastatur erreicht. Zeichen, aber System.out.read() kann nur ein Zeichen erhalten. Gleichzeitig kann der Typ der erhaltenen Variablen nur char sein. Wenn wir eine Zahl eingeben und hoffen, eine Ganzzahlvariable zu erhalten, müssen wir die Variable ändern Typen, was problematischer ist.
Methode 2: Empfangen Sie einen String von der Konsole und drucken Sie ihn aus. In dieser Frage müssen wir die BufferedReader-Klasse und die InputStreamReader-Klasse
import java.io.*;public static void main(String [] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = null; System.out.println("Enter your value:"); str = br.readLine(); System.out.println("your value is :"+str); }
verwenden, damit wir die von uns eingegebene Zeichenfolge erhalten können.
Methode 3: Ich denke, diese Methode ist die einfachste und leistungsfähigste, nämlich die Verwendung der Scanner-Klasse
import java.util.Scanner;public static void main(String [] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入你的姓名:"); String name = sc.nextLine(); System.out.println("请输入你的年龄:"); int age = sc.nextInt(); System.out.println("请输入你的工资:"); float salary = sc.nextFloat(); System.out.println("你的信息如下:"); System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary); }
If Wenn Sie durch Leerzeichen getrennte Daten in einer Zeile eingeben müssen, dann:
package iotest; import java.util.Scanner; public class ScannerTest { public static void main(String[] args) { System.out.println("请输入5个整数,以空格分开,以回车结束:"); try{ // 创建Scanner对象 Scanner scanner = new Scanner(System.in); // 用于保存5个数字的数组 int a[] = new int[5]; for(int i=0;i<5;i++){ // 把字符串转换为数字 a[i] = scanner.nextInt(); System.out.println(a[i]); } }catch(Exception e){ System.out.println("异常:"+e.toString()); } } }
Die beiden oben genannten Codeteile haben gezeigt, dass die Scanner-Klasse nur eines tun muss, sei es für Zeichenfolgen oder für Ganzzahlen Eine kleine Änderung kann die Funktion realisieren! Zweifellos ist er der Mächtigste!
Bei der Verwendung von Scanner müssen Sie jedoch auf die Existenz von nextInt() nach nextLine() achten.
Für weitere verwandte Informationen klicken Sie bitte auf: Java-Tutorial
Das obige ist der detaillierte Inhalt vonJava ruft den über die Tastatur eingegebenen Wert ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!