Java输入char类型的方法

C++中可以用输入流cin轻松的完成对int,char,String,double等等基本数据类型的输入,而JAVA中则必须使用Scanner类。


头文件java.util.Scanner,对于其他的数据类型Scanner类提供了直接的函数使用。比如:

Scanner cin = new Scanner(System.in) ; 

int t  = cin.nextInt();


然后Scanner 并没有提供对char类型的输入函数。那么这里我们要怎样完成对char类型的输入呢?


这里提供两种基本方法:


方法一: 利用nextInt()间接完成输入,即nextInt()输入ASC码再强制转换为char输出。


package main.test;

import java.util.Scanner;

class Main{
	public static void main(String[] args){
		Scanner cin = new Scanner(System.in);
	char c = (char)cin.nextInt();
	System.out.println(c);
	}
}


方法二 :利用System.in.read()方法

system.in.read()方法的作用是从键盘读出一个字符,然后返回它的Unicode码。


package main.test;

import java.io.IOException;

class Main{
	public static void main(String[] args) throws IOException{
		char c = (char)System.in.read();
		System.out.println(c);
	}
}

拓展:关于System.in.read()的使用

system.in.read()方法的作用是从键盘读出一个字符,然后返回它的Unicode码。关于System.in.read()需要注意,我们在键盘上按下的任何一个键都会被当做是输入值,包括Enter键也会被当做是一个值!当我们按下Enter的时候,实际上发送两个键值:一个回车\t(13),一个是换行\n(10)例如如下代码:

package main.test;

import java.io.IOException;

class Main{
	public static void main(String[] args) throws IOException{
		for(int i = 0;i<5;i++){
		char c = (char)System.in.read();
		System.out.println(c);}
	}
}

输入输出为
A
A






B
B

只有输入两个而已,而不是预想的输入五个。



你可能感兴趣的:(语言学习)