Java 基础知识点(必知必会其一)
- 如何将字符串转换为数字?
-
1 package Day_2; 2 /** 3 * @author Administrator 4 * 功能: 如何将字符串转换为数字? 5 */ 6 public class StringToInteger { 7 public static void main(String args []) 8 { 9 String ss="123"; 10 int val = Integer.parseInt(ss); 11 System.out.println(val); 12 ss="123.4"; 13 float va =Float.parseFloat(ss); 14 System.out.println(va); 15 } 16 }
2.如何将数字转换为十六进制字符串?
-
1 public class HexToOxc { 2 3 private static final String dic = "0123456789ABCDEF";; 4 5 /** 6 * @param args 7 * 如何将数字转换为十六进制字符串? 8 */ 9 10 public static void main(String[] args) { 11 // TODO Auto-generated method stub 12 13 int num=0; 14 String ans=""; 15 Scanner reader = new Scanner(System.in); 16 while(reader.hasNext()){ 17 num = reader.nextInt(); 18 ans=IntToOxc(num); 19 System.out.println(ans); 20 } 21 22 } 23 24 static String IntToOxc(int num){ 25 String ss=""; 26 while(num>0){ 27 int pos = num%16 ; 28 ss+=dic.charAt(pos); 29 num/=16; 30 } 31 return (new StringBuffer(ss)).reverse().toString(); 32 } 33 }
- 如何将字节串转换为十六进制字符串?
-
1 package com.Gxjun.problem; 2 3 import java.util.Scanner; 4 5 public class Answer { 6 //如何将字节串转换为十六进制字符串? 7 public static void main(String args []){ 8 String a1 = ""; 9 Scanner reader = new Scanner(System.in); 10 TenToSixTeen tst = new TenToSixTeen(); 11 while(reader.hasNext()){ 12 a1= reader.next(); 13 tst.StringToIntgeer(a1); 14 System.out.println(tst.DealToDec()); 15 } 16 } 17 } 18 //定义一个类,处理这个字符串 19 class TenToSixTeen { 20 /* 21 * 我们可以这样来考虑,首先我们得到的字符串一定都是数字组成, 22 * 字符串先转化为数字,然后在转化为十六进制数值 23 */ 24 int num; 25 26 /* 字符串转化为数值 27 */ 28 public void StringToIntgeer(String str){ 29 num=0; 30 int index=1; 31 for(int i=str.length()-1;i>=0;i--){ 32 num+=(str.charAt(i)-'0')*index; 33 index*=10; 34 } 35 } 36 37 /* 数值转化为十六进制数值 38 */ 39 public String DealToDec(){ 40 int sst=0; 41 String st=""; 42 do{ 43 sst = num%16; 44 num /= 16; 45 if(sst > 9){ 46 sst-=10; 47 st+=(char)(sst+97); 48 } 49 else { 50 st+=(char)(sst+48); 51 } 52 }while(num>0); 53 54 return ((new StringBuffer(st)).reverse()).toString(); 55 }
如何对浮点数打印出指定小数位数? -
1 package com.Gxjun.problem; 2 3 /* 4 * 如何对浮点数打印出指定小数位数? 5 */ 6 7 import java.math.BigDecimal; 8 9 public class FreFloat { 10 public static void main(String args []){ 11 System.out.println(divdouble(1.123456,1,5)); 12 System.out.println(divdouble1(1.123456,1,5)); 13 } 14 15 //四舍五入模式 16 public static double divdouble(double d1,double d2,int len) 17 { 18 19 BigDecimal b1 = new BigDecimal(Double.toString(d1)); 20 BigDecimal b2 = new BigDecimal(Double.toString(d2)); 21 return b1.divide(b2,len, BigDecimal.ROUND_HALF_UP).doubleValue(); 22 } 23 //非四舍五入模式 24 public static double divdouble1(double d1,double d2,int len) 25 { 26 27 BigDecimal b1 = new BigDecimal(Double.toString(d1)); 28 BigDecimal b2 = new BigDecimal(Double.toString(d2)); 29 return b1.divide(b2,len,1).doubleValue(); 30 } 31 }
2.如何将浮点数输出为指定位数的科学计数法?
-
1 package com.Gxjun.problem; 2 3 import java.math.BigDecimal; 4 import java.text.DecimalFormat; 5 import java.util.Scanner; 6 7 /* 8 *如何将浮点数输出为指定位数的科学计数法? 9 * 输入下列的精确度和科学计数的长度 10 */ 11 12 public class SenciceFloat { 13 14 public static void main( String args[] ){ 15 double aa= 123.12345; 16 int a,b; 17 Scanner reader = new Scanner(System.in); 18 while(reader.hasNext()){ 19 20 a = reader.nextInt(); 21 b = reader.nextInt(); 22 System.out.println(Function(aa,a,b)); 23 } 24 } 25 public static String Function(double num,int aa ,int bb ){ 26 DecimalFormat Decf = new DecimalFormat(); 27 String at="",bt=""; 28 for(int i=0;i<aa;i++) at += "0"; 29 for(int i=0;i<bb;i++) bt += "0"; 30 Decf.applyPattern("0."+at+"E"+bt); 31 return Decf.format(num); 32 } 33
-
编程是一种快乐,享受代码带给我的乐趣!!!