java的位运算
程序代码:
class nm
{
public static void main(String[] args)
{
int num1=60;int i=0,j;
int n1,temp1;
char s[]=new char[12];
while(num1!=0) num1为0时候,退出循环
{
n1=num1&15;
temp1=n1>9?(n1-10+'A'):(n1-0+'0');
s[i]=(char)temp1;
i++;
num1=num1>>>4;
}
for(j=i-1;j>=0;j--)
{
System.out.print(s[i]);
}
}
}
//这是为了输出二进制数的16进制的形式
请帮我看看把!我不知道这里到底错在哪里,在电脑上是出现的死循环!
{
public static void main(String[] args)
{
int num1=60;int i=0,j;
int n1,temp1;
char s[]=new char[12];
while(num1!=0) num1为0时候,退出循环
{
n1=num1&15;
temp1=n1>9?(n1-10+'A'):(n1-0+'0');
s[i]=(char)temp1;
i++;
num1=num1>>>4;
}
for(j=i-1;j>=0;j--)
{
System.out.print(s[i]);
}
}
}
//这是为了输出二进制数的16进制的形式
请帮我看看把!我不知道这里到底错在哪里,在电脑上是出现的死循环!
搜索更多相关的解决方案:
java
----------------解决方案--------------------------------------------------------
System.out.print(s[j]);
怎么会是死循环?num1的值最后会变成0的。
LZ的C学好了么?又跑来学Java了。
----------------解决方案--------------------------------------------------------
好犀利 ,居然发现楼主在C出现过
----------------解决方案--------------------------------------------------------
程序代码:
class nm {
public static void main(String[] args) {
int num1 = 60;
int i = 0, j;
int n1, temp1;
char s[] = new char[12];
while (num1 != 0) // num1为0时候,退出循环
{
n1 = num1 & 15;
temp1 = n1 > 9 ? (n1 - 10 + 'A') : (n1 - 0 + '0');
s[i] = (char) temp1;
i++;
num1 = num1 >>> 4;
}
for (j = i - 1; j >= 0; j--) {
System.out.print(s[j]);
}
}
}
public static void main(String[] args) {
int num1 = 60;
int i = 0, j;
int n1, temp1;
char s[] = new char[12];
while (num1 != 0) // num1为0时候,退出循环
{
n1 = num1 & 15;
temp1 = n1 > 9 ? (n1 - 10 + 'A') : (n1 - 0 + '0');
s[i] = (char) temp1;
i++;
num1 = num1 >>> 4;
}
for (j = i - 1; j >= 0; j--) {
System.out.print(s[j]);
}
}
}
----------------解决方案--------------------------------------------------------
强悍
----------------解决方案--------------------------------------------------------