Wo liegt hier der Fehler? Weiß das jemand?

3 Antworten

Du darfst nur 1 return statement haben.
Die nächsten 3 werden gar nicht mehr erreicht.

Du kannst nicht 4 Retunstatements schreiben.

Die letzten drei werden nach dem ersten schon garnichtmehr erreicht.

Richtig wäre folgendes:

return (Eins.indexOf( Lektion ) > -1 ? true:false) ||
 (Zwei.indexOf( Lektion ) > -1 ? true:false) ||
 (Drei.indexOf( Lektion ) > -1 ? true:false) ||
 (Vier.indexOf( Lektion ) > -1 ? true:false);

Übrigens noch besser:

return (Eins.indexOf( Lektion )
+Zwei.indexOf( Lektion )
+Drei.indexOf( Lektion )
+Vier.indexOf( Lektion ) )> -4 ? true:false);
1

Wobei man sich das "true : false" auch sparen kann. Die Ausdrücke geben ja bereits jeweils einen boolschen Wert zurück.

return Eins.indexOf( Lektion ) > -1 ||
 Zwei.indexOf( Lektion ) > -1 ||
 Drei.indexOf( Lektion ) > -1 ||
 Vier.indexOf( Lektion ) > -1;
1

Du kannst maximal einen Rückgabewert haben.

Java Primzahlen Programm

Hey Leute, ich habe mal wieder eine Java-Aufgabe, bei welcher ich den Fehler nicht finde. Ich hoffe ihr könnt mir irgendwie weiterhelfen.

public class PrimeNumbers {

static int x = 1000;
private static boolean[] Primes = new boolean[x];

// Hier ist der "statische Konstruktor"
static {
}

private static boolean checkPrime(int number) {

    return false;
}

public static boolean isPrime(int number) {
    int limit=1000;
    int zahl;      
    int zaehler;   
    boolean primzahl; 

    for (zahl = 2; zahl <= limit; zahl++) {
        primzahl = true;

        for (zaehler = 2; zaehler <= zahl/2; zaehler++) {
            if (zahl % zaehler == 0) {
                primzahl = false;
              break;
            }

        }

        if (primzahl) {
            return true;
        }
    }
    return false;
}

Die Primzahlen, welche zu überprüfen sind werden in einer anderen Methode übergeben und abefragt. Ich habe hier das Problem, dass er mir entweder immer true oder immer false returned, egal ob es nun eine Primzahl ist oder nicht. Ich komme einfach nicht weiter, egal wie ich es drehe und wende. Ich hoffe ihr könnt mir weiterhelfen.

Grüße Dubsepp

...zur Frage

Minecraft Bukkit Plugin 1.8.3 fehler Grundgerüst

Ich habe das Grundgerüst für ein Plugin geschrieben: package me.main.main;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;


public class main extends JavaPlugin{
    @Override
    public void OnEnable() {
        System.out.println();
    }
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        
        return false;
    }
}   

Plugin.yml:

main: me.main.main.main name: Test version: 1.0

Und Eclipse zeigt mir bei OnEnable() den Fehler an das ich das @Override löschen soll. Dann funktioniert das Plugin aber nicht mehr. Was soll ich tun?

...zur Frage

Wie mehrere Methoden in Java

Hallo zusammen,

und zwar lern ich gerade Java und hab mir en Programm geschrieben, dass einen Roulett-Tisch simulieren sollte. jetzt kahm mein ausbilder her und hat mir lauter Methoden über mein Programm geschriebn, jetzt wei´ß ich nicht, wie ich das machen muss oder was ich da überhaupst machen soll, kann mir jemand helfen ???

Entwicklungsumgebung: Eclipse

import java.util.*;

public class Roulette {

 private static boolean askForHighRisk(){
      return false;
  }
  private static boolean askForQuit(){
      return true;
  }
  private static boolean askBetOnEven(){
      return true;
  }
  private static int askSetOnNumber(){
    return 0;

  }
  private static int askForStake(int minLimit, int maxLimit){
      return 0;
  }
  private static int rollBall() {
      return 1;
  }  

  public static void main(String[] args) {

  System.out.printf("Bitte gib dein Startgeld zwischen 10€ und 10.000€ ein (in 10€ Schritten)!!!\n");

  Scanner startMoney = new Scanner (System.in);
  int  startmoney = startMoney.nextInt();
  int modulo = startmoney%10;
  int realstartmoney = 0;
  int zahlintager;
  String A= "A";
  String B= "B";
  String ja = "ja";
  String nein = "nein";


  //set the startmoney, only 10€ steps between 10 -10 000 
  if (startmoney > 10000) {
    startmoney =10000;
  }

  if (startmoney != 0) {
    realstartmoney = startmoney-modulo;
  }
  else {
    realstartmoney = startmoney;
  }

System.out.println("Sie haben jetzt " + realstartmoney + "€ auf ihrem Konto");

//loop till no money
  while (realstartmoney >0) {

    //set random int number
    int generator = (int) (Math.random()*36);      



  System.out.println("Wollen sie mit einer \"A (hohen)\" oder einer \"B (niedrigen)\" Chance spielen?");



  String choiceAorB = new String();
  Scanner AorB = new Scanner(System.in);
  choiceAorB = AorB.next();
  int geradeungerade = generator % 2;       

  if (choiceAorB.contentEquals(A)) {
    System.out.println("wollen sie auf \"A (gerade)\" oder \"B (ungerade)\"setzen");


    String choiceBorA = new String();
    Scanner BorA = new Scanner(System.in);
    choiceBorA = BorA.next();

    System.out.println("Wie viel wollen sie setzen????");

    Scanner setMoney = new Scanner(System.in);
    int nosetmoney = setMoney.nextInt();
    int setmoney = 0;
    int modulo2 = nosetmoney%10;

    if (modulo2 != 0) {
      setmoney = nosetmoney-modulo2;
    }
    else {
      setmoney = nosetmoney;
    }

    if (setmoney < 10) {
      System.out.println("Dein Einsatz wurde auf 10€ gesetzt");
      setmoney =10;
    }
          if (setmoney> realstartmoney) {
            System.out.println("So viel Geld h
...zur Frage

Wie sieht die Punktnotation in Java aus oder wie kann ich auf auf andere Klassen zugreifen?

Wie kann ich in der Klasse Telefon die Methoden aus der Klasse Telefonbuch verwenden ? Wenn ich es mit Punktnotation versuche wie z.B.

public void eintrag_hinzufuegen(String name)
{
    Telefonbuch.hinzufuegen(name);
}

, kommt die Fehlermeldung : non static method cannot be referenced from a static context

1)

import java.util.ArrayList;
public class Telefon
{
protected ArrayList <Telefonbuch> telefonbuch;
protected boolean eingeschaltet;
        
        public Telefon()
    {
        // initialise instance variables
        telefonbuch = new ArrayList <Telefonbuch>();
    }
    
    public void anrufen (String name)
    {
    }
    
    public void einschalten()
    {
        eingeschaltet = true;
    }
    
    public void telefonbuch_uebersicht()
    {
        
    }
    
    public void eintrag_hinzufuegen(String name)
    {
    }
    
    public void eintrag_entfernen(String name)
    {
    }
    
    public boolean eintrag_suchen(String name)
    {
    }
}

2)

import java.util.Arrays;

/**
 * Write a description of class Telefonbuch here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Telefonbuch
{
    // instance variables - replace the example below with your own
    private int anzahl_eintrag;
    private int kapazitaet;
    private String[] name_liste;
    protected boolean gefunden;

    /**
     * Constructor for objects of class Telefonbuch
     */
    public Telefonbuch()
    {
        // initialise instance variables
        String [] name_liste = new String[kapazitaet];
        gefunden = false;
    }
    
    public void set_kapazitaet(int x)
    {
        kapazitaet = x;
    }
    
    public void telefonbuch_uebersicht()
    {
        for(int i=0; i < name_liste.length; i++)
        {
        System.out.println(name_liste[i]);
        }
    }
    
    public void hinzufuegen(String name)
    {
        
    }
    
    public void entfernen(String name)
    {
    }
    
    public boolean suchen(String name)
    {
        for(int i=0; i < name_liste.length; i++)
        {
         if(name_liste[i].equals(name))
         {
         gefunden = true;
         }
         else
         {
         //Abbruch
         }
        }
        return gefunden;
    }
}

...zur Frage

Wieso funktioniert dieses Minecraft Plugin nicht?

Hi Leute,

ich habe hier ein Minecraft Plugin, dass Spielernamen aus einer Datenbank auslesen soll (mit dem Command /player wird alles gestartet). Wenn ich aber /player eingebe, kommt sowas wie com.mysql.jdbc.JBDC4ResultSet@23bd1b13.

What did I do wrong???

LG, hier ist der Code:

@Override
public void onEnable() {  
    getCommand("player").setExecutor(this);
    System.out.println("Plugin aktiviert");
}


@Override
public void onDisable() {
    System.out.println("Plugin deaktiviert");
}

@Override
public boolean onCommand(CommandSender sender, Command command, String cmd, String[] args) {

    connect();
    createTable();
    ResultSet rs = getResult("SELECT player FROM player WHERE server = 'defense' and active = 'true'");
    System.out.println("[DefenseLogin] Player: " + rs);
    
    return false;
}

  public static String username = "***";
  public static String password = "***";
  public static String database ="***";
  public static String host = "***";
  public static String port = "3306";
  public static Connection con;
  
  public static void connect()
  {
    if (!isConnected()) {
      try
      {
        con = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database, username, password);
        Bukkit.getConsoleSender().sendMessage("MySQL Verbindung aufgebaut");
      }
      catch (SQLException e)
      {
        e.printStackTrace();
      }
    }
  }
  
  public static void close()
  {
    if (isConnected()) {
      try
      {
        con.close();
        Bukkit.getConsoleSender().sendMessage("MySQL Verbindung geschlossen");
      }
      catch (SQLException e)
      {
        e.printStackTrace();
      }
    }
  }
  
  public static boolean isConnected()
  {
    return con != null;
  }
  
  public static void createTable()
  {
    if (isConnected()) {
      try
      {
        con.createStatement().executeUpdate("CREATE TABLE IF NOT EXISTS player (ID INTEGER NOT NULL, player VARCHAR(20), server VARCHAR(20), active VARCHAR(10), PRIMARY KEY(ID))");
      }
      catch (SQLException e)
      {
        e.printStackTrace();
      }
    }
  }
  
  public static void update(String qry)
  {
    if (isConnected()) {
      try
      {
        con.createStatement().executeUpdate(qry);
      }
      catch (SQLException e)
      {
        e.printStackTrace();
      }
    }
  }
  public static ResultSet getResult(String qry)
  {
    if (isConnected()) {
      try
      {
        return con.createStatement().executeQuery(qry);
      }
      catch (SQLException e)
      {
        e.printStackTrace();
      }
    }
    return null;
  }

}
...zur Frage

Java Anfang Fehlermeldung undkeine Lösung!

Servus, habe hier mal Code geschrieben (aus dem Buch ):

public class Factorial {

public static void main (String[] args)
{
    int input = Integer.parseInt(args[0]);
    double result = factorial(input);
    System.out.println(result);
}
public static double factorial (int x)
{
    if (x<0) //kleiner
    {
        return 0.0;
    }
    double fact = 1.0;
    while (x>1) //größer
    {
        fact = fact *x;
        x = x - 1;
    }
    return fact;
}

}

Der Fehler ist: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at Factorial.main(Factorial.java:5)

Laut deversen Forum Infos: -Ihr versucht, auf ein Array Feld zuzugreifen, was außerhalb der Größe des Arrays liegt. -Sucht in der angegeben Zeile nach dem Zugriff auf das Array und stellt fest, warum der Index zu groß geworden ist. -"Printline-Debugging" hilft (Index vor jedem Zugriff ausgeben)!

Doch ich kann das Problem nicht lösen....

Danke für eure Hilfe

...zur Frage

Was möchtest Du wissen?