这个是个一般是什么错误啊? 函数没写返回值类型,如果没有返回值要写上void 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的程序/*算符优先firstvt*/package myprojects.sfyx;import java.awt.*;import java.awt.event.*;import java.util.*;class Sfyx { public class GS { public char[] VT={'-','+','*','^','i','(',')','#'}; public char[] VN={'S','E','T','F','P'}; public String[] left={"S","E","E","T","T","F","F","P","P"}; public String[] right={"#E#","E+T","T","F*T","F","P^F","P","(E)","i"}; Stack stack=new Stack(); String str=new String(right[i]); void Init() { int i,j; for(i=0;i<VN.length+1;i++) for(j=0;j<VT.length+1;j++) {if(i==0)F[i][j]=o.VT[j]; else if(j==0)F[i][j]=VN[i-1]; else F[i][j]=0; } public pand() { for(int i=0;i<9;i++) { for(int j=0;j<str.length();j++) for(int k=0;k<VT.length;k++) if(str.charAt(j)==VN[k]) Insert(left[i],right[i]); } while(stack.length!=0) { String C; String D; C=stack.pop(); D=stack.pop(); for(int i=0;i<9;i++) { if(C==str.charAt(0)) Insert(str.left[i],D) } for(i=0;i<VN.length+1;i++) for(j=0;j<VT.length+1;j++) System.out.println(F[i][j]); } } public Insert(String P,String a) { int i,j; for(i=0;i<VN.length;i++) if(F[i][0]==P) break; for(j=0;j<VT.length;j++) if(F[0][j])==a) break; if(F[i][j]=='0') { F[i][j]='1'; stack.push(a); stack.push(P); } } } public static void main(String[] args) { GS app=new GS(); app.pand(); }} 你的public Insert(String P,String a) {也没有返回值 和返回值没什么关系,应该是定义出了问题。looking for... 晕你的程序里错误的地方也太多了点吧???随便举几个例子:很多东西没定义就直接用F[i][j]=o.VT[j];//F和o在什么地方定义的?数组引用错误String str=new String(right[i]);//right[i]不是这样用的,要在循环里使用大括号不匹配{if(i==0)F[i][j]=o.VT[j];//这里少了个大括号for循环里多条语句也没有拿大括号括起来 for(i=0;i<VN.length+1;i++) for(j=0;j<VT.length+1;j++) System.out.println(F[i][j]);语句后面没有分号Insert(str.left[i],D)肯定还有错,懒得看了你先仔细修改修改自己的程序再贴吧最起码这种简单的编程语法错误不要再出现了 努力啊!JAVA是很严谨的啊!我刚写的,抄了一个HELLOWORLD,编译,有10个错误,不怕大家笑话。努力学习 一个简单的按钮布局界面,想简化代码,但为什么都不显示啊 关于clipbord 骰子游戏 Mysql数据库中jdbc用PreparedStatement问题 java 开发邮件的思路及源代码?谁做过给点思路,有代码的也帖上来吧! 如何用java实现用户权限的管理 编的记事本程序,有问题想请教~(在线等待) 我是Jave的初学者,有一个小问题 大哥们这是我最后30分了,全给了!是关于JTree的一个很简单的问题 求解关于JAVA中字符编码的问题 各位大侠,请问,学JAVA选什么书籍好? 控制APPLICATION窗体问题
/*算符优先firstvt
*/
package myprojects.sfyx;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
class Sfyx {
public class GS
{
public char[] VT={'-','+','*','^','i','(',')','#'};
public char[] VN={'S','E','T','F','P'};
public String[] left={"S","E","E","T","T","F","F","P","P"};
public String[] right={"#E#","E+T","T","F*T","F","P^F","P","(E)","i"};
Stack stack=new Stack();
String str=new String(right[i]);
void Init()
{
int i,j;
for(i=0;i<VN.length+1;i++)
for(j=0;j<VT.length+1;j++)
{if(i==0)F[i][j]=o.VT[j];
else if(j==0)F[i][j]=VN[i-1];
else F[i][j]=0;
}
public pand()
{
for(int i=0;i<9;i++)
{
for(int j=0;j<str.length();j++)
for(int k=0;k<VT.length;k++)
if(str.charAt(j)==VN[k])
Insert(left[i],right[i]);
}
while(stack.length!=0)
{
String C;
String D;
C=stack.pop();
D=stack.pop();
for(int i=0;i<9;i++)
{
if(C==str.charAt(0))
Insert(str.left[i],D)
}
for(i=0;i<VN.length+1;i++)
for(j=0;j<VT.length+1;j++)
System.out.println(F[i][j]);
}
}
public Insert(String P,String a)
{
int i,j;
for(i=0;i<VN.length;i++)
if(F[i][0]==P) break;
for(j=0;j<VT.length;j++)
if(F[0][j])==a) break;
if(F[i][j]=='0')
{
F[i][j]='1';
stack.push(a);
stack.push(P);
}
}
}
public static void main(String[] args) {
GS app=new GS();
app.pand();
}
}
{
也没有返回值
你的程序里错误的地方也太多了点吧???
随便举几个例子:
很多东西没定义就直接用
F[i][j]=o.VT[j];//F和o在什么地方定义的?
数组引用错误
String str=new String(right[i]);//right[i]不是这样用的,要在循环里使用
大括号不匹配
{if(i==0)F[i][j]=o.VT[j];//这里少了个大括号
for循环里多条语句也没有拿大括号括起来
for(i=0;i<VN.length+1;i++)
for(j=0;j<VT.length+1;j++)
System.out.println(F[i][j]);
语句后面没有分号
Insert(str.left[i],D)肯定还有错,懒得看了
你先仔细修改修改自己的程序再贴吧
最起码这种简单的编程语法错误不要再出现了