11.Java面向对象-Scanner(类)、String(类)
一、Scanner的概述和构造方法原理
A:Scanner的概述: JDK5以后用于获取用户的键盘输入
B:Scanner的构造方法原理
Scanner(InputStream source)
System类下有一个静态的字段:
public static final InputStream in; 标准的输入流,对应着键盘录入。
package org. westos. java11;
import java. io. InputStream;
import java. util. Scanner;
public class Test5 {
public static void main ( String[ ] args) {
InputStream in = System. in;
Scanner scanner = new Scanner ( in) ;
Scanner scanner1 = new Scanner ( System. in) ;
}
}
二、常见对象(Scanner类的hasNextXxx()和nextXxx()方法的讲解)
A:基本格式
hasNextXxx() 判断下一个是否是某种类型的元素,其中Xxx可以是Int,Double等。
如果需要判断是否包含下一个字符串,则可以省略Xxx
nextXxx() 获取下一个输入项。Xxx的含义和上个方法中的Xxx相同
package org. westos. java11;
import java. io. InputStream;
import java. util. Scanner;
public class Test5 {
public static void main ( String[ ] args) {
InputStream in = System. in;
Scanner scanner = new Scanner ( in) ;
System. out. println ( scanner. hasNextInt ( ) ) ;
System. out. println ( scanner. hasNextDouble ( ) ) ;
System. out. println ( scanner. hasNextByte ( ) ) ;
System. out. println ( scanner. hasNext ( ) ) ;
System. out. println ( scanner. hasNextLine ( ) ) ;
}
}
package org. westos. java11;
import java. io. InputStream;
import java. util. Scanner;
public class Test5 {
public static void main ( String[ ] args) {
InputStream in = System. in;
Scanner scanner = new Scanner ( in) ;
String s = scanner. next ( ) ;
System. out. println ( s) ;
String s1 = scanner. nextLine ( ) ;
System. out. println ( s1) ;
}
}
package org. westos. java11;
import java. io. InputStream;
import java. util. Scanner;
public class Test6 {
public static void main ( String[ ] args) {
InputStream in = System. in;
Scanner scanner = new Scanner ( in) ;
System. out. println ( scanner. nextInt ( ) ) ;
System. out. println ( scanner. nextLine ( ) ) ;
}
}
package org. westos. java11;
import java. util. Scanner;
public class Test7 {
public static void main ( String[ ] args) {
String name= "xiaoming" ;
int passwd= 123456 ;
while ( true ) {
Scanner scanner = new Scanner ( System. in) ;
System. out. println ( "请输入用户名" ) ;
String s = scanner. nextLine ( ) ;
System. out. println ( "请输入密码" ) ;
if ( scanner. hasNextInt ( ) ) {
int nextInt = scanner. nextInt ( ) ;
if ( s. equals ( name) && nextInt== passwd) {
System. out. println ( "用户名和密码输入正确" ) ;
break ;
} else {
System. out. println ( "用户名或密码输入不正确" ) ;
}
} else {
System. out. println ( "请正确输入密码,只包含数字" ) ;
}
}
}
}
package org. westos. java11;
import java. util. Scanner;
public class Test8 {
public static void main ( String[ ] args) {
Scanner scanner = null;
while ( true ) {
scanner= new Scanner ( System. in) ;
System. out. println ( "请输入一个整数" ) ;
if ( scanner. hasNextInt ( ) ) {
int nextInt = scanner. nextInt ( ) ;
System. out. println ( nextInt) ;
break ;
} else {
System. out. println ( "输入错误,请重新输入" ) ;
}
}
}
}
package org. westos. java11;
import java. util. Scanner;
public class Test9 {
public static void main ( String[ ] args) {
String name = "zhangsan" ;
int passwd = 123456 ;
for ( int i = 0 ; i < 3