2017-11-20 22 views
1

どちらのクラスも同じパッケージに入っていますので、なぜ動作しないのか非常に混乱しています。それはnetbeansで動作しますが、私は今Visual Studio Codeを使用しています。コードとエラーが表示されます。*クラス名*のシンボルが見つかりません? Java

(mainメソッドを含む)分割クラス(コンパイル時に認識することができない)

package project; 

import java.util.ArrayList; 
import java.util.Scanner; 


public class Division 
{ 
    public static Scanner scanner = new Scanner(System.in); 

    public static void main(String[] args) 
    { 


     ArrayList<Fighter> fighters = new ArrayList(); 

     fighters.add(new Fighter("Conor McGregor", 29, "Ireland", 21, 3)); 
     fighters.add(new Fighter("Gunnar Nelson", 28, "Iceland", 16, 3)); 
     fighters.add(new Fighter("Stipe Miocic", 33, "USA", 17, 2)); 
     fighters.add(new Fighter("Cody Garbrandt", 26, "USA", 11, 0)); 
     fighters.add(new Fighter("Demetrious Johnson", 30, "USA", 27, 2)); 
     fighters.add(new Fighter("Jose Aldo", 31, "Brazil", 26, 3)); 
     fighters.add(new Fighter("George St Pierre", 40, "Canada", 25, 2)); 
     fighters.add(new Fighter("Fabricio Werdum", 40, "Brazil", 22, 7)); 
     fighters.add(new Fighter("Michael Bisping", 39, "United Kingdom", 30, 7)); 


     displayAllFighters(fighters); 


    } 

    //Adds fighter to ArrayList 
    public static void addFighter(ArrayList<Fighter> fighters) 
    { 
     System.out.print("Please enter fighters name: \t"); 
     String name = scanner.nextLine(); 

     System.out.print("\nPlease enter fighters age: \t"); 
     int age = scanner.nextInt(); 

     scanner.nextLine(); 

     System.out.print("\nPlease enter fighters country: \t"); 
     String country = scanner.nextLine(); 

     System.out.print("\nPlease enter amount of wins: \t"); 
     int wins = scanner.nextInt(); 

     System.out.print("\nPlease enter amount of losses: \t"); 
     int losses = scanner.nextInt(); 

     fighters.add(new Fighter(name, age, country, wins, losses)); 

     System.out.println("Fighter Added!"); 
    } 

    //Removes a fighter from ArrayList 
    public static void removeFighter(ArrayList<Fighter> fighters) 
    { 
     System.out.print("Please enter the name of the fighter you wish to remove: \t"); 
     String name = scanner.nextLine(); 

     for (Fighter fighter : fighters) 
     { 
      if (fighter.getName() == name) 
      { 
       fighters.remove(fighter); 
      } 
     } 
    } 

    //Display info of all fighters 
    public static void displayAllFighters(ArrayList<Fighter> fighters) 
    { 
     for (Fighter fighter : fighters) 
     { 
      System.out.println(fighter); 
      System.out.println("=========================================="); 
     } 
    } 

    //Counts amount of fighters with a win % that is less that entered value 
    public static int countWinPercentLowerThan(ArrayList<Fighter> fighters , int value) 
    { 
     int count = 0; 

     for (Fighter fighter : fighters) 
     { 
      if (fighter.getPercent() < value) 
      { 
       count++; 
      } 
     } 
     return count; 
    } 

    //Counts amount of fighters with a win % that is greater that entered value 
    public static int countWinPercentGreaterThan(ArrayList<Fighter> fighters , int value) 
    { 
     int count = 0; 

     for (Fighter fighter : fighters) 
     { 
      if (fighter.getPercent() > value) 
      { 
       count++; 
      } 
     } 
     return count; 
    } 

} 

ファイタークラス

package project; 

public class Fighter 
{ 
    private String name; 
    private int age; 
    private String country; 
    private int wins; 
    private int losses; 
    private String weightClass; 

    public Fighter(String name, int age, String country, int wins, int losses, String weightClass) 
    { 
     this.name = name; 
     this.age = age; 
     this.country = country; 
     this.wins = wins; 
     this.losses = losses; 
     this.weightClass = weightClass; 
    } 

    public Fighter(String name) 
    { 
     this.name = name; 
     this.age = 0; 
     this.country = "TBA"; 
     this.wins = 0; 
     this.losses = 0; 
     this.weightClass = "TBD"; 
    } 

    public String getName() 
    { 
     return this.name; 
    } 

    public void setName(String name) 
    { 
     this.name = name; 
    } 

    public int getAge() 
    { 
     return this.age; 
    } 

    public void setAge(int age) 
    { 
     this.age = age; 
    } 

    public String getCountry() 
    { 
     return this.country; 
    } 

    public void setCountry(String country) 
    { 
     this.country = country; 
    } 

    public int getWins() 
    { 
     return this.wins; 
    } 

    public void setWins(int wins) 
    { 
     this.wins = wins; 
    } 

    public int getLosses() 
    { 
     return this.losses; 
    } 

    public void setLosses(int losses) 
    { 
     this.losses = losses; 
    } 

    public String toString() 
    { 
     return "Fighter Name: " + this.name + ".\nFighter age: " + this.age + ".\nFighter nation: " + this.country + ".\nFighter wins: " + this.wins + ".\nFighter losses: " + this.losses + "."; 
    } 

    public void updateWin() 
    { 
     this.wins++; 
    } 

    public void updateLosses() 
    { 
     this.losses++; 
    } 

    public double getPercent() 
    { 
     int totalFights = this.wins + this.losses; 
     double percent = this.wins * 100/totalFights; 
     return percent; 
    } 

} 

エラーメッセージ:

c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:34: error: cannot find symbol 
    public static void addFighter(ArrayList<Fighter> fighters) 
              ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:59: error: cannot find symbol 
    public static void removeFighter(ArrayList<Fighter> fighters) 
              ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:74: error: cannot find symbol 
    public static void displayAllFighters(ArrayList<Fighter> fighters) 
                ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:84: error: cannot find symbol 
    public static int countWinPercentLowerThan(ArrayList<Fighter> fighters , int value) 
                 ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:99: error: cannot find symbol 
    public static int countWinPercentGreaterThan(ArrayList<Fighter> fighters , int value) 
                 ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:15: error: cannot find symbol 
     ArrayList<Fighter> fighters = new ArrayList(); 
       ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:17: error: cannot find symbol 
     fighters.add(new Fighter("Conor McGregor", 29, "Ireland", 21, 3)); 
         ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:18: error: cannot find symbol 
     fighters.add(new Fighter("Gunnar Nelson", 28, "Iceland", 16, 3)); 
         ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:19: error: cannot find symbol 
     fighters.add(new Fighter("Stipe Miocic", 33, "USA", 17, 2)); 
         ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:20: error: cannot find symbol 
     fighters.add(new Fighter("Cody Garbrandt", 26, "USA", 11, 0)); 
         ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:21: error: cannot find symbol 
     fighters.add(new Fighter("Demetrious Johnson", 30, "USA", 27, 2)); 
         ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:22: error: cannot find symbol 
     fighters.add(new Fighter("Jose Aldo", 31, "Brazil", 26, 3)); 
         ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:23: error: cannot find symbol 
     fighters.add(new Fighter("George St Pierre", 40, "Canada", 25, 2)); 
         ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:24: error: cannot find symbol 
     fighters.add(new Fighter("Fabricio Werdum", 40, "Brazil", 22, 7)); 
         ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:25: error: cannot find symbol 
     fighters.add(new Fighter("Michael Bisping", 39, "United Kingdom", 30, 7)); 
         ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:53: error: cannot find symbol 
     fighters.add(new Fighter(name, age, country, wins, losses)); 
         ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:64: error: cannot find symbol 
     for (Fighter fighter : fighters) 
      ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:76: error: cannot find symbol 
     for (Fighter fighter : fighters) 
      ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:88: error: cannot find symbol 
     for (Fighter fighter : fighters) 
      ^
    symbol: class Fighter 
    location: class Division 
c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java:103: error: cannot find symbol 
     for (Fighter fighter : fighters) 
      ^
    symbol: class Fighter 
    location: class Division 
Note: c:\Users\Cian Tiernan\OneDrive - Dundalk Institute of Technology\College\Object Orientated Programming\NetBeansProjects\Java\src\project\Division.java uses unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details. 
+3

正確** **あなたはどのようにコンパイルしていますか?どのようなコマンド?どこ? –

+0

NetBeansで動作するので、**あなたは**間違いがないことを知っています。さて、あなたは5パラメータの 'Fighter'コンストラクタを呼び出し、6パラメータバージョンしか持っていないので、それ以外は問題ありませんが、それは別の問題です。つまり、ビルドやVisual Studioのセットアップに問題があり、それを共有していないということです。要するに、無意味なコードで溺れ、実際に問題に関連する情報を私たちに与えていない。 – Andreas

+0

@ElliottFrisch私は、Visual StudioのコードでJava言語サポート拡張機能とJavaデバッグ拡張機能を使用しています。私はちょうどそれをインストールし、それらは私が持っている唯一の2つです。 –

答えて

-1

まず間違い私は、コンストラクタが必要な体重クラスのパラメータを持っていることがわかりますが、あなたが初期化するときFraireクラスのrraylistには、その値がありません。

例えば、 fighters.add(新しいファイター( "Conor McGregor"、29、 "Ireland"、21、3)); にはウェイトクラスがありません。

+0

「シンボルを見つけることができません」というコンパイルエラーはありません。 – Andreas

+0

私は両方のクラスを私のIDEにアップロードしました....私はそのようなエラーはありませんでした。 –

+0

NetBeansで動作するため(質問はそうそうです)。それはVisual Studioでの唯一の問題で、Visual Studioを使用していません。 – Andreas

関連する問題