Java 找不到符号-但变量在那里
我对Java很有经验,但最近我编写了这个程序来对字符串进行排序(请不要介意效率之类的东西)。但我有一个奇怪的错误 代码如下:Java 找不到符号-但变量在那里,java,find,symbols,Java,Find,Symbols,我对Java很有经验,但最近我编写了这个程序来对字符串进行排序(请不要介意效率之类的东西)。但我有一个奇怪的错误 代码如下: import java.io.*; class Prog3 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Syst
import java.io.*;
class Prog3
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
System.out.print("Enter a String: ");
String s = br.readLine().toUpperCase();
String st = "", finalStr = "";
int count = 1, arI = 0;
char t = s.charAt(s.length()-1);
if(!(t=='.'||t=='?'||t=='!'))
{
System.out.print("Invalid Input!");
System.exit(0);
}
for(int i = 0; i < s.length(); i++)
{
char ch = s.charAt(i);
if(ch==' ')
{
count++;
}
}
String[] ar = new String[count];
for (int i = 0; i < s.length(); i++)
{
char ch = s.charAt(i);
if(ch!=' '&&ch!='.'&&ch!='?'&&ch!='!')
{
st += ch;
}
else
{
ar[arI++] = st;
st = " ";
}
}
for ( int i = 0; i < ar.length-1; i++);
{
for ( int j = 0; j < ar.length-1-i; j++);
{
if (ar[j].compareTo(ar[j+1])>0)
{
String temp = ar[j];
ar[j] = ar[j+1];
ar[j+1] = temp;
}
}
finalStr = ar[ar.length-1-i] + " " + finalStr;
}
System.out.println("Length: " + count);
System.out.println("Rearranged Sentence:\n" + ar[0] + " " + finalStr);
}
}
import java.io.*;
课程进展3
{
公共静态void main(字符串[]args)引发IOException
{
BufferedReader br=新的BufferedReader(新的
InputStreamReader(System.in));
System.out.print(“输入字符串:”);
字符串s=br.readLine().toUpperCase();
字符串st=“”,finalStr=“”;
int count=1,arI=0;
chart=s.charAt(s.length()-1);
如果(!(t='.|t='?'| t=='!'))
{
系统输出打印(“无效输入!”);
系统出口(0);
}
对于(int i=0;i0
{
字符串温度=ar[j];
ar[j]=ar[j+1];
ar[j+1]=温度;
}
}
finalStr=ar[ar.length-1-i]+“”+finalStr;
}
System.out.println(“长度:“+计数”);
System.out.println(“重新排列的句子:\n”+ar[0]+“”+finalStr);
}
}
但我仍然在第41行出现“找不到符号”错误,以此类推:
Prog3.java:41: error: cannot find symbol
for ( int j = 0; j < ar.length-1-i; j++);
^
symbol: variable i
location: class Prog3
Prog3.java:43: error: cannot find symbol
if (ar[j].compareTo(ar[j+1])>0)
^
symbol: variable j
location: class Prog3
Prog3.java:43: error: cannot find symbol
if (ar[j].compareTo(ar[j+1])>0)
^
symbol: variable j
location: class Prog3
Prog3.java:45: error: cannot find symbol
String temp = ar[j];
^
symbol: variable j
location: class Prog3
Prog3.java:46: error: cannot find symbol
ar[j] = ar[j+1];
^
symbol: variable j
location: class Prog3
Prog3.java:46: error: cannot find symbol
ar[j] = ar[j+1];
^
symbol: variable j
location: class Prog3
Prog3.java:47: error: cannot find symbol
ar[j+1] = temp;
^
symbol: variable j
location: class Prog3
Prog3.java:50: error: cannot find symbol
finalStr = ar[ar.length-1-i] + " " + finalStr;
^
symbol: variable i
location: class Prog3
8 errors
Prog3.java:41:错误:找不到符号
对于(int j=0;j0
^
符号:变量j
地点:Prog3级
Prog3.java:43:错误:找不到符号
如果(ar[j]),比较(ar[j+1])>0
^
符号:变量j
地点:Prog3级
Prog3.java:45:错误:找不到符号
字符串温度=ar[j];
^
符号:变量j
地点:Prog3级
Prog3.java:46:错误:找不到符号
ar[j]=ar[j+1];
^
符号:变量j
地点:Prog3级
Prog3.java:46:错误:找不到符号
ar[j]=ar[j+1];
^
符号:变量j
地点:Prog3级
Prog3.java:47:错误:找不到符号
ar[j+1]=温度;
^
符号:变量j
地点:Prog3级
Prog3.java:50:错误:找不到符号
finalStr=ar[ar.length-1-i]+“”+finalStr;
^
符号:变量i
地点:Prog3级
8个错误
如果我愚蠢地错过了一些愚蠢的事情,那么我非常抱歉。你有
代码>在for循环之后,有效地关闭了i和j的作用域
for ( int i = 0; i < ar.length-1; i++);
for ( int j = 0; j < ar.length-1-i; j++);
for(inti=0;i
在循环行的末尾有分号(-1;i++)代码>),导致循环结束。投票结束是一个打字错误。非常感谢。我真不敢相信我错过了。现在我感到很尴尬。我们每天至少在这里用某种语言看到一次。这很常见。请记住这一点。一个建议:使用IDE的自动格式化。至少Eclipse在按下Ctrl-Shift-F后清楚地显示了这个问题:循环体只是分号,在它自己的行上缩进。