写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
思路:循环获得输入的字符串,截取前两位,利用公式。
java中进行二进制,八进制,十六进制,十进制间进行相互转换
十进制转成十六进制:
Integer.toHexString(int i)
十进制转成八进制
Integer.toOctalString(int i)
十进制转成二进制
Integer.toBinaryString(int i)
逆转:
十六进制转成十进制
Integer.parseInt("FFFF",16);
八进制转成十进制
Integer. parseInt ("876",8);
二进制转十进制
Integer. parseInt ("0101",2);
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
while(sc.hasNext()){
String str=sc.next();
String str1=str.substring(2);
System.out.println(Integer.parseInt(str1, 16));
}
}
}
求近似值
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
思路:先获取到这个float类型的值,通过Math.round()方法获得最接近参数的 long,然后用f-long与5比较,>5就加1,<5就等于取得的long值。
考点:Math.round()方法,可以求一个浮点类型数的最接近的长整型。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
float f=sc.nextFloat();
int a=0;
long num=Math.round(f);
if(f-num>5){
a=(int) (num+1);
}else{
a=(int) num;
}
System.out.print(a);
}
}