2016-03-24 9 views
3

Ich habe versucht, eine Methode, die wahr zurückgibt, wenn "Strings" Anagramme sind. leider kann ich es nicht einmal testen und ich weiß nicht was falsch ist. Die Markierungen auf der linken Seite sagt:Warum bekomme ich "Duplicate Modifier für den Typ Test" und wie man es beheben kann

Mehrere Marker an dieser Linie - Breakpoint-: Test - Modifikator für den Test ein Duplikat

Hier ist der Quellcode:

package zajecia19; 

import java.io.BufferedReader; 
import java.io.FileReader; 
import java.util.HashMap; 
public 
public class Test { 
    public static boolean Anagraamy(String s1, String s2) { 
     if (s1.length() != s2.length()) { 
      return false; 
     } 
     HashMap<Character, Integer> map = new HashMap<>(); 
     for (int i = 0; i < s1.length(); i++) { 
      if (map.containsKey(s1.charAt(i))) { 
       map.put(s1.charAt(i), map.get(s1.charAt(i)) + 1); 
      } else { 
       map.put(s1.charAt(i), 1); 
      } 
      if (map.containsKey(s2.charAt(i))) { 
       map.put(s2.charAt(i), map.get(s2.charAt(i)) - 1); 
      } else { 
       map.put(s2.charAt(i), -1); 
      } 
     } 
     for(Integer value: map.values()){ 
      if(value != 0){ 
       return false; 
      } 
     } 

     return true; 

    } 

    public static void main(String[] args) { 
     try (BufferedReader br = new BufferedReader(new FileReader("slowa2"))) { 
     System.out.println(Anagraamy("abba", "babb")); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+3

Entfernen Sie die zusätzlichen 'public' aus Ihrem Code. – Kayaman

+0

Eine Sache ist sehr wichtig beim Lernen von Java: Vertrauen Sie dem Compiler. Wenn es Ihnen etwas "Duplikat" sagt; und gibt dir eine Zeilennummer; als sich dieser Linie zuwenden und sehen, was da ist; und vielleicht was in den Zeilen davor steht. Außerdem: Vermeiden Sie es, viel Code zu schreiben, bevor Sie den Compiler ausführen. Versuche immer nur kleine Stücke zu schreiben (wovon du denkst: das sollte kompilieren); dann führe den Compiler aus; Fehler beheben; Wenn möglich, tun Sie den Code, um ihn zu testen. Zuerst 100 Zeilen Code schreiben; Dann fangen Sie an Fehler zu beheben macht das Ganze ** viel schwieriger für Sie! – GhostCat

Antwort

13

Weil Sie haben

public 
public 

dort.

Der offensichtliche Weg, um das zu beheben: Entfernen Sie die erste. Und beim nächsten Mal: ​​Achte darauf, was der Compiler dir zu sagen versucht.

+0

vielen Dank: 3 – Uszek

Verwandte Themen