函数没写返回值类型,如果没有返回值要写上void

解决方案 »

  1.   

    我的程序
    /*算符优先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();
       }
    }
      

  2.   

    你的public Insert(String P,String a)
           {
    也没有返回值
      

  3.   

    和返回值没什么关系,应该是定义出了问题。looking for...
      

  4.   


    你的程序里错误的地方也太多了点吧???
    随便举几个例子:
    很多东西没定义就直接用
    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)肯定还有错,懒得看了
    你先仔细修改修改自己的程序再贴吧
    最起码这种简单的编程语法错误不要再出现了
      

  5.   

    努力啊!JAVA是很严谨的啊!我刚写的,抄了一个HELLOWORLD,编译,有10个错误,不怕大家笑话。努力学习