键盘输入字符串,Ctrl+Z结束

Java中从键盘输入字符串的方式:


1、使用Scanner
(1)in.useDelimiter("\n")和str = in.nextLine()配合使用时,可以首次输入空行
import java.util.Scanner;


public static void main(String[] args){
String str = null;
int len = 0;
Scanner in = new Scanner(System.in);
in.useDelimiter("\n");    //设置分隔符----一行以此作为分隔符
System.out.println("请输入,按Enter键换行,按Ctrl+Z结束。");
while(in.hasNext()){     //判断是否继续有输入,按Enter表示确定输入,可以按Ctrl+Z结束。
str = in.nextLine(); //输入行可以包含空格、空行、且首行也可以输入是空行
len = str.length();
System.out.println("输入的字符串为:"+str+" 长度为:"+len);
str = null;
}
in.close();
System.out.println("结束");
}
运行结果见 Scanner1.jpg


-----------------------------------------------------------------------------------------------
(2)in.useDelimiter("\n")和str = in.next()配合使用时,可以首次输入空行,但是分隔符也作为输入字符
import java.util.Scanner;


public static void main(String[] args){
String str = null;
int len = 0;
Scanner in = new Scanner(System.in);
in.useDelimiter("\n");    //设置分隔符----一行以此作为分隔符
System.out.println("请输入,按Enter键换行,按Ctrl+Z结束。");
while(in.hasNext()){     //判断是否继续有输入,按Enter表示确定输入,可以按Ctrl+Z结束。
str = in.next();     //可以输入空格、空行,且分隔符也作为输入字符
len = str.length();
System.out.println("输入的字符串为:"+str+" 长度为:"+len);
str = null;
}
in.close();
System.out.println("结束");
}

运行结果见 Scanner2.jpg


-----------------------------------------------------------------------------------------------


(3)默认分隔符时,使用in.nextLine(),
import java.util.Scanner;


public static void main(String[] args){
String str = null;
int len = 0;
Scanner in = new Scanner(System.in);
System.out.println("请输入,按Enter键换行,按Ctrl+Z结束。");
while(in.hasNext()){     //判断是否继续有输入,按Enter表示确定输入,可以按Ctrl+Z结束。
str = in.nextLine(); //输入行可以包含空格、空行,但是输入空行后,按Enter键后没作用
len = str.length();
System.out.println("输入的字符串为:"+str+" 长度为:"+len);
str = null;
}
in.close();
System.out.println("结束");
}

运行结果见 Scanner3.jpg


-----------------------------------------------------------------------------------------------


(4)默认分隔符时,使用in.next(),输入行不包含空格、空行
import java.util.Scanner;


public static void main(String[] args){
String str = null;
int len = 0;
Scanner in = new Scanner(System.in);
System.out.println("请输入,按Enter键换行,按Ctrl+Z结束。");
while(in.hasNext()){   //判断是否继续有输入,按Enter表示确定输入,可以按Ctrl+Z结束。
str = in.next();   //输入行不能包含空格、空行
len = str.length();
System.out.println("输入的字符串为:"+str+" 长度为:"+len);
str = null;
}
in.close();
System.out.println("结束");
}

运行结果见 Scanner4.jpg


-----------------------------------------------------------------------------------------------




注意:
(1)在默认情况下,Scanner使用空白(包括空格、Tab空白、回车)作为多个输入项之间的分隔符。
即作为Scanner.hasNext()确定输入的判断依据,一般配合Scanner.useDelimiter("判断依据")使用。
(2) str = Scanner.nextLine(); //输入行可以包含空格、空行
str = Scanner.next();     //输入行不能包含空格
(3)有Scanner.hasNext()作为判断条件时,可以按Ctrl+Z结束。




发火!!!!  本来就不理解这里是怎么回事,现在试验后更摸不着头脑了   !!!! 发火




-----------------------------------------------------------------------------------------------
2、使用BufferedReader
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public static void main(String[] args){
String str = null;
int len = 0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入字符串");
try{
str = br.readLine();  //输入行可以包含空格、空行
br.close();
}catch(IOException ex){
ex.printStackTrace();
}
len = str.length();
System.out.println("输入的字符串为:"+str+" 长度为:"+len);
}

运行结果见 BufferedReader.jpg


  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值