在java中如何输入一个char型字符。

我想输入一个char型字符
char c;
我将在运行的时候输入 , 不知道怎么写,书上找不到

可以创建Scanner类来从键盘输入一个字符,用String类型来接收,再使用String的charAt功能,具体步骤如下:

1、先创建一个Scanner对象,如:Scanner sc = new Scanner(System.in);

2、然后再调用Scanner对象sc的next()方法获取控制台输入,定义一个String类型的变量s来接收控制台输入的字符,如:String s = sc.next();

3、调取变量s的charAt(0)方法获取第一个字符,如:char c = s.charAt(0);

扩展资料

字符型值有如下三种表示形式

1、直接通过单个字符来指定字符型值,例如‘A’、‘9’和‘0’等。

2、通过转义字符表示特殊字符型值,例如‘\n’、‘\t’等。

3、直接使用Unicode值来表示字符型值,格式是‘\uXXXX’,其中XXXX代表一个十六进制的整数

字符型值也可以采用十六进制编码方式来表示,范围是‘\u0000’~‘\uFFFF’,一共可以表示65536个字符,其中前256个(‘\u0000’~‘\u00FF’)字符和ASCII码中的字符完全重合。

由于计算机底层保存字符时,实际是保存该字符对应的编号,因此char类型的值也可直接作为整型值来使用,它相当于一个16位的无符号整数,表数范围是0~65535。

如果把0~65535范围内的一个int整数赋给char类型变量,系统会自动把这个int整数当成char类型来处理。

参考资料:百度百科-char数据类型

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-09

方法一: 

Scanner cin=new Scanner(System.in); 

String s=cin.nextLine(); 

char ans=s.charAt(0); 

这样即可获取一个字符。 

方法二: 

byte[] b=new byte[2]; 

try{ 

System.in.read(b) 

}catch(Exception e){} 

char ans=new String(b).charAt(0); 

这样即可获取一个字符

扩展资料:

在windows下编译java文件、执行:

1、先创建一个txt,更改为test.java。

2、编写代码,为输出为holloword。

3、找到cmd,并进行打开cmd。

4、编译java文件,输入命令为javac test.java。

5、如果没有报错,查看当前目录下是否有class文件产生。

6、执行class文件,在命令输入java test,输出为holloword。

本回答被网友采纳
第2个回答  2018-05-10

需要添加抛出声明,但是可以从键盘输入一个字符,如果输入多个的话,那么只会保存第一个字符。使用Scanner 类从键盘录入一个字符,使用String 接收; 然后使用 String 的charAt功能。

char c = new java.util.Scanner(System.in).next().charAt(0);

这算是最常用的了吧,实际上就是输入字符串后再利用charAt(0)得到

char c = new java.util.Scanner(System.in).next().toCharArray[0];

勉强算得上第二种吧!我以前很常用的。可以用,但是毕竟不好,浪费资源,又没有第一种简单。

char c = (char)new BufferedReader(new InputStreamReader(System.in)).read();

这个也可以读取第一个输入的字符,不过这应该是在没有Scanner类的时候使用的,现在使用显得有点麻烦了。

本回答被网友采纳
第3个回答  2015-09-10

1.先创建一个Scanner对象

2.调用Scanner对象的next()方法获取控制台输入,返回的是一个String类型,因为没有nextChar()方法

3.调用String的charAt(0)方法获取第一个字符

Scanner sc = new Scanner(System.in);
String s = sc.next();
char c = s.charAt(0);

第4个回答  2011-10-08
Scanner input = new Scanner(System.in);
System.out.println("请输入字符:");
//接受char型
char c=input.nextChar();追问

import java.util.Scanner;
public class jiami{
public static void main(String args []){
Scanner input = new Scanner(System.in);
System.out.println("请输入字符:");
char c=input.nextChar(); // 这儿报错了
if(c>='A'&&c='a'&&c<='z'){
c=(char)(219-(int)c);
}

System.out.print(c);
}
}

追答

汗,记错了,没nextChar方法,你用nextByte()或nextInt()方法再强转吧,具体的是char c=(char)input.nextByte();

追问

囧啊,还是一样编译不通过,大哥,帮我改下嘛。

追答

char c=scanner.next().charAt(0);
charAt()是String对象的取字符方法,0是取第一位的

本回答被提问者采纳
相似回答