编译java程序时出错

编译java程序时出错,java,Java,我在编译java程序以使用重载构造函数查找正方形和矩形区域时遇到此错误 square.java:18: error: <identifier> expected public Static void main(String args[])throws IOException; ^ 1 error 您的文件中有多个错误: area(int l,int b) { l=l1 ; b=b1 ; System.out.println("area of r

我在编译java程序以使用重载构造函数查找正方形和矩形区域时遇到此错误

square.java:18: error: <identifier> expected
public Static void main(String args[])throws IOException;
             ^
1 error

您的文件中有多个错误:

area(int l,int b)
{
  l=l1 ;
  b=b1 ;
  System.out.println("area of rectangle is " + l1*b1);
}
没有变量l1和b1。您想重命名方法参数

public Static void main(String args[]) throws IOException;
Static不是有效的关键字。您希望使用静态。你不希望分号出现在行尾

但是这里也不允许使用静态。您要么需要在单独的文件中声明square类,要么需要将其设置为静态

static class square {
  public static void main(String args[]) throws IOException {
  ...
  }
}
最后,开关箱中的标签“2”也会复制

case 2:
  System.out.println("enter sides of rectangle ");
  l2 = Integer.parseInt(br.readLine());
  b2 = Integer.parseInt(br.readLine());
  area ar2 = new area(l2, b2);
  break;
case 2:
  System.exit(0);
  break;
我通过将代码复制到IDE中就找到了所有这些

此外,我建议:

  • 类名应以大写字母开头。因此,使用
    Area
    代替
    Area
    Shape
    代替
    Shape
  • 将每个类移动到一个单独的文件中,这样就有了Area.java和Shape.java
  • 格式化代码以确保可读性

    • 你的逻辑是写的,但有些地方是错的

      我建议你,, 第**行公共静态void main中出错(字符串args[]

      解决办法是

      publicstaticvoidmain(字符串arg[])
      {
      }


      小型静态关键字。

      static
      对于初学者来说不是有效的关键字。Java是区分大小写的,所以它应该是静态的。我将等待你的下一个问题,当你运行它时,它会抱怨没有
      main
      方法。是的,它发生了:(
      main
      应该在顶级类中,而不是在内部类中。你应该按照TomStroemer答案中的建议,在两个单独的文件中使用两个单独的类。然后编译这两个类并运行具有
      main
      方法的类。好的。从现在开始我会这样做。如果我使用comp终端,这是一个好的编程实践吗iling和running而不是使用ide。我只是在学习java的基础知识。你推荐什么?谢谢兄弟。这些要点都提到了。问题是我对编程和java不熟悉。所以我正在尝试学习代码。这就是为什么不使用ide的原因。尽管我知道ide在调试代码方面会有很大帮助。请接受如果你的问题已经得到回答,请回答。
      case 2:
        System.out.println("enter sides of rectangle ");
        l2 = Integer.parseInt(br.readLine());
        b2 = Integer.parseInt(br.readLine());
        area ar2 = new area(l2, b2);
        break;
      case 2:
        System.exit(0);
        break;