else
{
r=Power(s,n-1);
System.out.println(r);
int d=r.length;
char ch=s.charAt(n);
int v=d+1;
p[v]=Character.toString(ch);
String q = p[v];
for(i=d+2,j=0;i<2d+3,j<d;i++,j++)
{
p[i]=r[j].concat(q);
}
}
Отображается синтаксическая ошибка, и var j не распознается даже после объявления ... пожалуйста, помогите мне.
8
Priyanka
27 Окт 2012 в 16:16
1 ответ
Лучший ответ
Проблема в состоянии петли. Правильно должно быть:
for(i=d+2,j=0;i<2d+3 && j<d;i++,j++){ ...
Или
for(i=d+2,j=0;i<2d+3 || j<d;i++,j++){ ...
Нет смысла ставить запятую, разделяющую два логических условия в java.
Как видно из комментариев, переменные j
и i
не объявляются.
22
Renato Lochetti
27 Окт 2012 в 16:31
1
Хороший улов! Я не могу вспомнить, была ли Java похожа на C в отношении оператора запятой, где
– cond1, cond2
дала бы тот же результат, что и запись cond2
(при условии, что cond1
, конечно, не имеет побочных эффектов, таких как в этом случае).
Eduardo
27 Окт 2012 в 16:28
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.
j
; Просто поместитеint j;
перед цикломfor
i
, похоже, тоже не был объявлен. вам может потребоваться изменитьi=d+2
наint i=d+2