❶ java中Scanner输入字符串和BufferedReader输入字符串的区别
Scanner 和BufferedReader输入实例如下:
importjava.io.*;
importjava.util.Scanner;
publicclassC{
publicstaticvoidmain(String[]args)throwsIOException
{
Stringx1,x2;
intsum=0;
System.out.print("BufferedReader方法 inputtwonumber:");
//BufferedReader对象只将回车看作输入结束,得到的字符串
BufferedReadermyReader=newBufferedReader(newInputStreamReader(System.in));
x1=myReader.readLine();
x2=myReader.readLine();
inta=Integer.parseInt(x1);
intb=Integer.parseInt(x2);
sum=a+b;
System.out.printf("Sum=%d",sum);
System.out.println(" Scanner方法");
Scannersc=newScanner(System.in);
inta1,b1;
a1=sc.nextInt();
//Scanner对象把回车,空格,tab键都看作输入结束,直接用sc.next()得到的是字符串形式
b1=sc.nextInt();
System.out.print("sum="+(a1+b1));
}
}
BufferedReader是字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取!速度要比Scanner快!而且也可以设置缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
在创建Scanner类的对象时,需要用System.in作为它的参数,也可以将Scanner看作是System.in对象的支持者,System.in取得用户输入的内容后,交给Scanner来作一些处理.
Scanner类中提供了多个方法:
next():取得一个字符串;
nextInt():将取得的字符串转换成int类型的整数;
nextFloat():将取得的字符串转换成float型;
nextBoolean():将取得的字符串转换成boolean型;
如果想读取正行文本,可以使用nextLine()方法;
Scanner类位于java.util包中,要加上import java.util.Scanner;用Scanner获得用户的输入非常的方便,但是Scanner取得输入的依据是空格符,包括空格键,Tab键和Enter键.当按下这其中的任一键时,Scanner就会返回下一个输入.当你输入的内容中间包括空格时,显然,使用Scanner就不能完整的获得你输入的字符串.这时候我们可以考虑使用BufferedReader类取得输入.其实在Java SE1.4及以前的版本中,尚没有提供Scanner方法,我们获得输入时也是使用BufferReader的.
BufferedReader类位于java.io包中,所以要使用这个类,就要引入java.io这个包
import java.io.BufferedReader. readLine()方法会返回用户在按下Enter键之前的所有字符输入,不包括最后按下的Enter返回字符.以Enter键为结尾。
使用BufferedReader对象的readLine()方法必须处理java.io.IOException异常(Exception).使用BufferedReader来取得输入,理解起来要复杂得多.但是使用这个方法是固定的,每次使用前先如法炮制就可以了
另外,对于Scanner 和BufferedReader还可以有以下实例:
packagecom.demo;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.util.Scanner;
publicclassDemo{
publicstaticvoidmain(String[]args)throwsException{
Stringm=newString("");
int[]a={0,0,0};
BufferedReaderstdin=newBufferedReader(newInputStreamReader(
System.in));
System.out.println("输入三个数(以一个空格分开):");
m=stdin.readLine();
Scannerscan=newScanner(m);//将输入的一行文本作为扫描对象
for(inti=0;i<a.length;i++){
a[i]=scan.nextInt();
}
System.out.println("输入数为:");
for(inti=0;i<a.length;i++){
System.out.print(a[i]+"");
}
}
}
对于Scanner ,是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。扫描器可以从实现Readable接口的任何对象读取文本。
构造方法:
Scanner(Filesource)
构造一个新的Scanner,它生成的值是从指定文件扫描的。
Scanner(Filesource,StringcharsetName)
构造一个新的Scanner,它生成的值是从指定文件扫描的。
Scanner(InputStreamsource)
构造一个新的Scanner,它生成的值是从指定的输入流扫描的。
Scanner(InputStreamsource,StringcharsetName)
构造一个新的Scanner,它生成的值是从指定的输入流扫描的。
Scanner(Readablesource)
构造一个新的Scanner,它生成的值是从指定源扫描的。
Scanner(ReadableByteChannelsource)
构造一个新的Scanner,它生成的值是从指定信道扫描的。
Scanner(ReadableByteChannelsource,StringcharsetName)
构造一个新的Scanner,它生成的值是从指定信道扫描的。
Scanner(Stringsource)
构造一个新的Scanner,它生成的值是从指定字符串扫描的。
❷ java里面可以利用scanner输入字符串么如果不可以,除了main函数的string args
scanner 可以接收用户输入的的字符串的呀,用法如下
publicstaticvoidmain(String[]args){
Scannerscanner=newScanner(System.in);
System.out.println(scanner.nextLine());
scanner.close();
}
❸ 关于Java Scanner输入字符串的问题
String类型,判断相同不是用==,而是用equals()方法。“==”判断是地址是否相同,显然是两个不同的对象,所以地址不同;而equals()判断的是内容是否相同。
❹ java中如何用Scanner类读入单个字符
Scanner没有直接读入单个字符的方法
有些网友使用了以下方法,但是这个方法没办法读入空格符(空格符也是char类型的字符)
因为Scanner以空格符作为输入完毕的标志
以下是可以读入包含空格符在内的单个字符的代码:
第一次输入字符a,可以读入
第二次输入空格符,可以读入
❺ Java怎么统计指定字符出现的次数。要用Scanner输入一个字符
你输入一个字符串Scanner方式,比如 string s1 =null;
Scanner scanner =new Scanner(System.in);
s1 = scanner.nextline;
然后把这个s1 tochararray 一下,变成一个char[] 数组
然后遍历这个数组,比如你要找a出现的次数,你就设定一个count来计算。
遍历数组时候,若char[i]="a" count就+1,
最后count就是统计的次数啦。
public class Jjjj {
/**
* @param args
*/
public static void main(String[] args) {
String s1 = (new Scanner(System.in)).next();
char[] char1 = s1.toCharArray();
int count = 0;
char a = "a".charAt(0);
for(int i=0;i<char1.length;i++){
if(char1[i] == a){
count++;
}
}
System.out.println(count);
}
}
输入aaahfhkshka
统计a的个数 就是4
❻ java中Scanner键盘输入一个字符串 要求计算出每个字符出现的次数
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
/*
* (1)利用键盘录入,输入一个字符串
(2)统计该字符串中各个字符的数量
*/
public class InputString {
public static void main(String[] args) {
//获取键盘输入的字符串
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个字符串!");
String st=sc.nextLine();
//将字符串存分解成每个字符,存到数组中
char [] ch=st.toCharArray();
//创建map的集合,存储字符和出现的次数,其中将字符作为键值
Map<Character,Integer> map=new HashMap<Character,Integer>();
//使用循环,将数组ch中的元素遍历出来,并用计数器计算出现的次数
for(char c:ch) {
//判断字符c是否存在集合中,存在的话,更新map中的元素对(因为map中的元素是唯一的)
if(map.containsKey(c)) {
Integer count=map.get(c);
count=count+1;
map.put(c, count);
//如果不存在,将字符和出现的次数(1次),存到集合中
}else {
map.put(c, 1);
}
}
//用增强for循环,输出字符的出现次数
for(char key:map.keySet()) {
System.out.println(key+"的出现次数是"+map.get(key));
}
}
}
===================================
运行后的结果如下:
❼ java中,我用scanner 输入,当输入的字符有空格时,为什么得到的值只有空格前面的值
因为Scanner类默认的分隔符就是空格,所以当你输入了多组数据且是用空格分隔每组,则你需要使用nextXXX()方法来得到相应的输入数据。
XXX代表的是具体的数据类型,例如获取int,则nextInt()
❽ java输入语句scanner
java对于一些小伙伴们来说真的是觉得难于上青天,还没有开始学习就各种抱怨了,还担心自己学不会,其实不是这样的,大家把心态放平,遇到问题一步一步的来解决,你就会觉得java还是一个神奇的操作。今天我来跟大家分享关于java输入语句scanner的操作步骤,相信学习了一下的操作步骤,关于scanner语句你就可以轻松的操作出来了,具体的步骤操作就在下方,小伙伴们快来认真的看一看吧!相信会帮到你~
1.首先,大家可以看到我在java上边输入的scanner语句,(如下图红色圈出部分所示)。
2.我们可以看到最后的运行结果,(如下图所示)。
3.最后,给小伙伴们解释一下部分说明:importjava.util.Scanner的作用是来构建Scanner对象。System.in作为参数传递给Scanner的构造函数,使Scanner用键盘作为输入,然后用new在内存中实例化一个Scanner出来,其它变量就可以调用这块内存区域。
以上的操作步骤就是java输入语句scanner的具体操作步骤,已经详细的给小伙伴们罗列出来了,大家按照以上的操作步骤按步就班的进行操作就可以正确输入语句scanner,是不是看了以上步骤也不觉得很困难了。最后,希望以上的操作步骤对你有所帮助!
本篇文章使用以下硬件型号:联想小新Air15;系统版本:win10;软件版本:JAVA2017。
❾ java怎么scanner输入字符串
System.out.println("请输入:");
Scanner scanner=new Scanner(System.in);
String expression=scanner.nextLine();
scanner.close();
❿ java中如何输入一个数,用scanner语句
扫描控制台输入。
当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可。
/**
* 扫描控制台输入
*
* @author leimin 2009-7-24 11:24:47
*/
public class TestScanner {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入字符串:");
while (true) {
String line = s.nextLine();
if (line.equals("exit")) break;
System.out.println(">>>" + line);
}
}
}
请输入字符串:
234
>>>234
wer
>>>wer
bye
>>>bye
exit
Process finished with exit code 0
(10)javascanner输入字符扩展阅读:
Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(java.net包)。