@sqq

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

error: illegal start of expression のエラーを解決したい。

error: illegal start of expression のエラーを解決したい。

ここに解決したい内容を記載してください。

paizaというサイトでjavadコードを書いてみました。
しかしこのようなエラーが出ました。
初心者の質問ですみません。

発生している問題・エラー

Main.java:6: error: illegal start of expression
        public class TestMain{
        ^
1 error

該当するソースコード

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        // Your code here!
        public class TestMain{
   public static void main(String[] args){
 	  Child child = new Child();
 	  child.parentMethod();
   } 
}
  class Parent{
 	void parentMethod(){
 		System.out.print("A");
 	} 
}
 class Child extends Parent {
 	void parentMethod(){
 		System.out.print("B");
 		super.parentMethod();
 	} 
}
}

自分で試したこと

波かっこの数などを確認しましたが、そこが問題ではないようでした。

0 likes

2Answer

    public static void main(String[] args) throws Exception {
        public class TestMain{

メソッドの中にクラスやメンバ宣言を書くことはできません.

Playground系のサイトではたしかにJavaを動作させられるサイトもありますが,Javaはすべてのプログラムをクラス内に定義しなければならない特性上Playgroundとは相性が悪いです.

まずご自分でJava開発環境を用意することをおすすめします.
その方がまっさらな状態から開発ができるため,コードのうち必要な要素だけを理解しやすいです.

0Like

static main()が2ヶ所あることに疑問を感じました。
TestMainとするなら、ファイル名がTestMain.javaである必要があります。

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        Child child = new Child();
        child.parentMethod();
    }
}

class Parent {
    void parentMethod() {
        System.out.print("A");
    }
}

class Child extends Parent {
    void parentMethod() {
        System.out.print("B");
        super.parentMethod();
    }
}
0Like

Your answer might help someone💌