1)课堂上的查表法很简单,没有容错机制,我写的这个程序有容错机制,输入一到七之外的数字,就会提醒你输入正确数字,代码如下:
import java.util.Scanner;
class Demo {
public static void main(String[] args) {
char []arr = {' ','一','二','三','四','五','六','日' };
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请输入一个一到七之间的数字");
int a = sc.nextInt();
if (a>=1 && a <=7){
System.out.println("对应的星期是"+arr[a]);
break;
}
if (a <=1 ||a >=7 ){
System.out.println("请输入正确的数字");
}continue;
}
}
}
提示完之后continue的作用很关键,进入下次循环。
2)十进制转二进制:
class Fdemo
{
public static void main(String[] args)
{
toBin(6);
}
public static void toBin(int num)
{
StringBuffer sb=new StringBuffer();
while(num>0)
{
sb.append(num%2); //StringBuffer是一个容器,装求模于二的余数
num/=2; //继续除二
}
System.out.println(sb.reverse()); //将收集来的余数反转。
}
}
十进制转十六进制,区别只有一个,超过十的余数儿,强转成字符,用一个if语句判断,代码如下,
class Demo
{
public static void main(String[] args)
{
toHex(60);
}
public static void toHex(int num)
{
StringBuffer sb=new StringBuffer();
while(num>0)
{
int temp = num&15;
if (temp >9){
char ch = (char)(temp - 10 +'A');
sb.append(ch);
}else {
sb.append(temp);
}
num = num >>>4;
}
System.out.println(sb.reverse());
}
}
交流QQ,564626316 |
|