十六进制转换成十进制????????????
程序代码:
package wuyu;
import java.util.Scanner;
public class ww {
public static void main(String[] args) {
//System.out.println("请输入一个十六进制数");
Scanner in = new Scanner(System.in);
int h = in.nextInt();
ww(h);
}
public static void ww(int h) {
System.out.println(h);
int i = Integer.valueof("h",16);
System.out.println( +i);
}
}
import java.util.Scanner;
public class ww {
public static void main(String[] args) {
//System.out.println("请输入一个十六进制数");
Scanner in = new Scanner(System.in);
int h = in.nextInt();
ww(h);
}
public static void ww(int h) {
System.out.println(h);
int i = Integer.valueof("h",16);
System.out.println( +i);
}
}
-----------------------------------------------------
我写的程序报错了,好像“h”有问题,大家帮帮我啊??
----------------解决方案--------------------------------------------------------
帮下我忙哇。。在线等待。。。谢谢了!
----------------解决方案--------------------------------------------------------
已解决
package javaapplication33;import java.util.*;
/**
*
* @author Administrator
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("请输入一个十六进制数");
Scanner in = new Scanner(System.in);
String h = in.next();
ww(h);
}
public static void ww(String h) {
System.out.println(h);
int i = Integer.valueOf(h,2);
System.out.println( +i);
}
// TODO code application logic here
}
.valueOf(String s, int radix)
返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
把h弄成String型的就对了.哦.
----------------解决方案--------------------------------------------------------
回复 3# 的帖子
哦知道了,我的 int h = in.nextInt();有问题,应该改成 String h = in.next();
--------------------------------------------
谢谢你!
----------------解决方案--------------------------------------------------------
还有一种方法:
---------------------------
异处理方法:
package qiuhe;
import java.io.*;
public class Untitled1 {
public static void main(String[] args) {
String s = "";
int sum = 0;
int i = 0;
System.out.println("please input a line");
try {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
s = in.readLine();
} catch (IOException e) {
e.printStackTrace();
}
int digitnum = 0;
for (i = 0; i < s.length(); i++) {
switch (s.charAt(i)) {
case '0':
digitnum = 0;
break;
case '1':
digitnum = 1;
break;
case '2':
digitnum = 2;
break;
case '3':
digitnum = 3;
break;
case '4':
digitnum = 4;
break;
case '5':
digitnum = 5;
break;
case '6':
digitnum = 6;
break;
case '7':
digitnum = 7;
break;
case '8':
digitnum = 8;
break;
case '9':
digitnum = 9;
break;
case 'A':
digitnum = 10;
break;
case 'B':
digitnum = 11;
break;
case 'C':
digitnum = 12;
break;
case 'D':
digitnum = 13;
break;
case 'E':
digitnum = 14;
break;
case 'F':
digitnum = 15;
break;
}
sum += digitnum * Math.pow(16, s.length() - i);
}
System.out.println("you have entered:" + sum);
}
}
----------------解决方案--------------------------------------------------------