输入一个0到9、a到z、A到Z的十六进制数,程序输出相应的十进制数。

输入一个0到9、a到z、A到Z的十六进制数,程序输出相应的 十进制数。

思考

  • java是如何实现读取用户输入char类型的?
import java.util.*;
public class text {
	public static void main(String[] args) {
		System.out.println("a~f的unicode码值"+(int)'a'+ " ~" +(int)'f');
		System.out.println("A~F的unicode码值"+(int)'A'+ " ~" +(int)'F');
		System.out.println("0~9的unicode码值"+(int)'0'+ " ~" +(int)'9');
		System.out.println("请输入一个字符(0~9、a~z、A~Z)");
		Scanner x=new Scanner(System.in);
		char a=x.next().charAt(0);
		String value="";
		if((int)a>=48&&(int)a<=57) {//若输入是数字
			value+=a;
		}
		else if((int)a>=97&&(int)a<=102) {//若输入是小写字母
			{
				value+=a-87;
			}
		}
		else if((int)a>=65&&(int)a<=70) {//若输入时数字
			value+=a-55;
		}
		else
		System.out.println("输入不正确!");
	
		System.out.println(value);
		
		
	}
}

需要注意的地方:

java中基本数据类型的输入包括整形的输入:in.nextInt();单精度浮点型:in.nextFloat();双精度浮点型:in.nextDouble();字符串类型:in.next();in.nextLine();那么,您是否以为char类型也如in.nextChar();这样呢?如果您这样写过,那么您一定见过这个error:“The method nextChar() is undefined for the type Scanner”。那么char类型该如何输入呢???
答案就是:

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

这是一种变通的写法,相当于:

Scanner x= new Scanner(System.in);
String a=x.next();
char c=a.charAt(0);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值