黑马程序员技术交流社区
标题:
希望得到检查其中的错误(我看了一个小时,囧了)[坐等...
[打印本页]
作者:
王晨宇
时间:
2012-6-14 17:01
标题:
希望得到检查其中的错误(我看了一个小时,囧了)[坐等...
本帖最后由 王晨宇 于 2012-6-14 17:06 编辑
先贴上函数代码
class twelf //函数优化
{
public static void main(String[] args)
{
tobin(6);
}
public static void tobin(int num)
{
trans(num,1,1);
}
public static void tohex(int num)
{
trans(num,15,4);
}
public static void to8int (int num)
{
trans(num,7,3);
}
public static void trans(int num,int base,int fa);
{
if(num==0)
{
System.out.println(0);
return;
}
char[]chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int pos=arr.length;
char[] arr=new char[32];
while (num!=0)
{
int temp=num&base;
arr[--pos]=chs[temp];
num=num>>>fa;
}
for (int x=pos;x<arr.length ;x++ )
{
System.out.print(arr[x]);
}
}
}
复制代码
希望高手给予指点。
我对着看了一个多小时,没看出错在哪儿。给的提示也看了半个小时,愣是没发现问题所在。
作者:
郑传庆
时间:
2012-6-14 17:14
下面的代码我该了一下,你自己看看就明白了,都注有问题1和问题2
public class tewlf {
public static void main(String[] args) {
tobin(6);
}
public static void tobin(int num) {
trans(num, 1, 1);
}
public static void tohex(int num) {
trans(num, 15, 4);
}
public static void to8int(int num) {
trans(num, 7, 3);
}
public static void trans(int num, int base, int fa) {//这是个方法,不能用分号,要用括号---------------问题1
if (num == 0)
{
System.out.println(0);
return;
}
char[] chs = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
'B', 'C', 'D', 'E', 'F' };
char[] arr = new char[32];//要先声明才能使用,把这里调到上面-------------------问题2
int pos = arr.length;
while (num != 0)
{
int temp = num & base;
arr[--pos] = chs[temp];
num = num >>> fa;
}
for (int x = pos; x < arr.length; x++)
{
System.out.print(arr[x]);
}
}
}
作者:
张頔
时间:
2012-6-14 17:28
我晕了 哥你把这段代码放到MyEclipse上 就会有很多错误了
class Demo //函数优化
{
public static void main(String[] args)
{
tobin(6);
}
public static void tobin(int num)
{
trans(num,1,1);
}
public static void tohex(int num)
{
trans(num,15,4);
}
public static void to8int (int num)
{
trans(num,7,3);
}
public static void trans(int num,int base,int fa)//
这地方多了一个“;”
{
if(num==0)
{
System.out.println(0);
return;
}
char[] cha={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int pos=cha.length;//
这个地方你写成了arr
char[] arr=new char[32];
while (num!=0)
{
int temp=num&base;
arr[--pos]=cha[temp];//
这个地方你写成了“chs”
num=num>>>fa;
}
for (int x=pos;x<arr.length ;x++ )
{
System.out.print(arr[x]);
}
}
}
还有 不知道 你要的运行结果是什么 只是找出了你写的错误
作者:
王晓新
时间:
2012-6-14 17:48
class twelf //函数优化
{
public static void main(String[] args)
{
tobin(6);
}
public static void tobin(int num)
{
trans(num,1,1);
}
public static void tohex(int num)
{
trans(num,15,4);
}
public static void to8int (int num)
{
trans(num,7,3);
}
public static void trans(int num,int base,int fa)//这里没有“;”
{
if(num==0)
{
System.out.println(0);
return;
}
char[]chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int pos=arr.length;//这里应该是int pos=chs.length;
char[] arr=new char[32];
while (num!=0)
{
int temp=num&base;
arr[--pos]=chs[temp];
num=num>>>fa;
}
for (int x=pos;x<arr.length ;x++ )
{
System.out.print(arr[x]);
}
}
}
复制代码
输出结果110,正确!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2