코드가 작동하지 않습니다. 그것은 내 프로그램의 초기 부분입니다. 문자열을 되돌리려 할 때 주 오류가 발생합니다. 누군가 그것을 볼 수 있습니까?문자열로 이진수를 반전합니다.
이진수를 10 진수로 변환하려면 문자열을 반대로 가져야합니다. 코드를 보지 않고
String checka, checkb;
checka = txt1.getText();
checkb = txt2.getText();
int lchecka = checka.length();
int lcheckb = checkb.length();
int ia, ib, p = 1, q = 1;
for (ia = 0; ia < lchecka; ia++)
{
if (checka.charAt(ia) == '1' || checka.charAt(ia) == '0')
{
p = 1;
}
else
{
p = 0;
break;
}
}
for (ib = 0; ib < lcheckb; ib++)
{
if (checkb.charAt(ib) == '1' || checkb.charAt(ib) == '0')
{
q = 1;
}
else
{
q = 0;
break;
}
}
double adda = 0, addb = 0, ansa = 0, ansb = 0;
int inta, intb;
inta = Integer.parseInt(txt1.getText());
intb = Integer.parseInt(txt2.getText());
if (p == 1 && q == 1)
{
String checkka;
checkka = txt1.getText();
String checkkb;
checkkb = txt2.getText();
int lcheckka = checkka.length();
int lcheckkb = checkkb.length();
Character oa, ob;
int ra, rb;
String reva, revb;
oa = checkka.charAt(lcheckka - 1);
reva = oa + "";
ob = checkkb.charAt(lcheckkb - 1);
revb = ob + "";
oa = checkka.charAt(lcheckka - 2);
reva = reva.substring(0) + oa;
ob = checkkb.charAt(lcheckkb - 2);
revb = revb.substring(0) + ob;
for (ra = lcheckka - 3; ra >= 0; ra--)
{
oa = checkka.charAt(ra);
reva = reva.substring(0, ra - 1) + oa;
}
for (rb = lcheckkb - 3; rb >= 0; rb--)
{
ob = checkkb.charAt(rb);
revb = revb.substring(0, rb - 1) + ob;
}
System.out.println(reva);
System.out.println(revb);
}
어떤 부분이 작동하지 않습니까? 문자열 반전이 작동하지 않습니까? –
미안하지만, 당신이 묻는 방법이 아닙니다. 그것을 고치려고 무엇을 했습니까? 코드의 어느 부분이 손상되었다고 생각하십니까? 그냥 여기에 코드를 덤프하고 "내 코드가 작동하지 않습니다"라고 말하지 마십시오. 또한 코드의 형식을 지정하는 방법도 배웁니다. 그것은 읽을 수 없습니다. – garbagecollector
자명 한 변수 이름 (힌트 : ia, ib, p, q, lchecka, lcheckb, adda, addb, ansa, ansb는 * 자명하지 않음)을 사용해야합니다. – assylias