String g = String.valueOf(f);这句代码到底哪里错了。。。

importjava.lang.String;publicclasstransport{publictransport(doublex){inty=(int)x;int[... import java.lang.String;
public class transport {

public transport(double x){
int y=(int)x;
int[] a = new int[100];
int index=0;

while (y!=1){
a[index]=y%2;
y=y/2;
index++;
}

int[] b=new int[100];
b[0]=1;
int k=0;
for(int i=index+1;i>0;i--){
b[i]=a[k];
k++;
}

String c = String.valueOf(b);

double z=x-y;
int[] f=new int[10];
int e=0;
while(true){
z=z*2;
int d=(int)z;
f[e]=d;
e++;
}

String g = String.valueOf(f); //eclipse一直显示这行代码有问题。。。 unreachable code

}

}
展开
 我来答
百度网友0f39ceb
2010-09-18 · TA获得超过781个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:456万
展开全部
有用NetBeans看啦下,一样有问题,你可把这句提到while上面,或把
while(true)死循环改过while(e<10),或在while中加个break,试试:

public class transport {

public transport(double x) {
int y = (int) x;
int[] a = new int[100];
int index = 0;
while (y != 1) {
a[index] = y % 2;
y = y / 2;
index++;
}
int[] b = new int[100];
b[0] = 1;
int k = 0;
for (int i = index + 1; i > 0; i--) {
b[i] = a[k];
k++;
}
String c = String.valueOf(b);
double z = x - y;
int[] f = new int[10];
int e = 0;
String g = String.valueOf(f);
while (true) { //while(e<10){
z = z * 2;
int d = (int) z;
f[e] = d;
e++;
// break;
}
// String g = String.valueOf(f);
// int g=2;
}
}

可见,造成错误的原因是while(true)死循环,下面的语句就无法执行到,在NetBeans中提示“无法访问的语句”,你还可以把这句注释掉写个int g=2;看看效果。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式