Java – die neusten Beiträge

Java: Wie kann man das Programm nochmals durchlaufen lassen?

Man soll bei cash das Geld eingeben und wenn man genug Geld hat, soll alles nochmal durchlaufen werden (bei while ( isRunning )). Wie kann man das am besten lösen, ohne das eine Fehlermeldung kommt? Sorry für den langen Code :D

PS: Die Mitte des Codes ist relativ unwichtig.

//S. 244-245

public class Snake {

public static void main(String[] args) {
    
    boolean isRunning = true;
    boolean ok = true;
    while ( isRunning ) {
        if ( ok )
    System.out.println("Cash einwerfen:");
        ok = false;
    int cash = new java.util.Scanner( System.in ).nextInt();

    java.awt.Point playerPosition = new java.awt.Point( 10, 9 );
    java.awt.Point snakePosition  = new java.awt.Point( 39, 0 );
    java.awt.Point goldPosition   = new java.awt.Point( 6, 6 );
    java.awt.Point doorPosition   = new java.awt.Point( 0, 5 );
    java.awt.Point gold2Position   = new java.awt.Point( 20, 8 );
    boolean rich = false;
    boolean rich2 = false;
    
    while ( true ) {
        
        for ( int y = 0; y < 10; y++ ) {
            for ( int x = 0; x < 40; x++) {
                java.awt.Point p = new java.awt.Point( x, y );
                if ( playerPosition.equals ( p ) )
                    System.out.print('&');
                else if ( snakePosition.equals( p ) )
                    System.out.print('S');
                else if ( goldPosition.equals( p ) )
                    System.out.print('$');  
                else if ( gold2Position.equals( p ) )
                    System.out.print('$');                      //Wichtig: print statt println
                else if ( doorPosition.equals( p ) )
                    System.out.print('#');
                else System.out.print('.');
              }
            System.out.println();
            }
        
        //Textausgaben
        if ( rich && rich2 && playerPosition.equals( doorPosition ) ) {
            System.out.println("Gewonnen!");
            break;
        }
        if ( playerPosition.equals( snakePosition ) ) {
            System.out.println("Game Over!");
            break;
        }
        if ( playerPosition.equals ( goldPosition ) ) {
            rich = true;
            goldPosition.setLocation( -1, -1 );
        }
        if ( playerPosition.equals ( gold2Position ) ) {
            rich2 = true;
            gold2Position.setLocation( -1, -1 );
            
        
            goldPosition.setLocation( -1, -1 );
        }
        
        switch ( new java.util.Scanner ( System.in ).next() ) {
        case "w" : playerPosition.y = Math.max( 0, playerPosition.y - 1); break; 
        case "s" : playerPosition.y = Math.min( 9, playerPosition.y + 1); break;
        case "a" : playerPosition.x = Math.max( 0, playerPosition.x - 1); break;
        case "d" : playerPosition.x = Math.min( 39, playerPosition.x + 1); break;
        case "wa": playerPosition.y = Math.max( 0, playerPosition.y - 1);
                   playerPosition.y = Math.max( 0, playerPosition.x - 1 ); break;
        case "wd": playerPosition.y = Math.max( 0, playerPosition.y - 1);
                   playerPosition.x = Math.min( 39, playerPosition.x + 1); break;
        case "sa": playerPosition.y = Math.min( 9, playerPosition.y + 1);
                   playerPosition.x = Math.max( 0, playerPosition.x - 1); break;
        case "sd": playerPosition.y = Math.min( 9, playerPosition.y + 1);
                   playerPosition.x = Math.min( 39, playerPosition.x + 1); break;
        }
        
PC, programmieren, Java, snake

Taschenlampen App blockiert Kamera?

Hi ich wollte eine eigene Taschenlampe programmieren hab dies auch halbwegs Erfolgreich getan. Doch habe ich folgendes Problem:

Wenn ich die App öffne und die Lampe an und aus mache, sie dann schließe und die Handy Kamera, Snapchat oder änliches öffne kommt die Nachricht: Warnung Kamerafehler!

Ich schätze das die App die Kamera blockiert. Wie kann ich das beheben??

ActivityMain.java


import android.content.pm.PackageManager; import android.hardware.Camera; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.CompoundButton; import android.widget.Switch; import android.widget.Toast; import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity{

ToggleButton togglebtn;
Camera camera;
Camera.Parameters pam;
boolean lighton;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    togglebtn = (ToggleButton) findViewById(R.id.toggleButton);
    togglebtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

            if (isChecked == true){
                if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)){
                    if (camera == null){
                        camera = Camera.open();
                    }

                    pam = camera.getParameters();
                     pam.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                    camera.setParameters(pam);
                    camera.startPreview();

                    lighton = true;

                }else{
                    Toast.makeText(getApplicationContext(), "keine LED-Lampe vorhanden", Toast.LENGTH_SHORT).show();
                }
            }
            if (isChecked == false){
                lightoff();
            }
        }
    });

}

public void lightoff(){
    if (lighton == false) {
        camera = Camera.open();

    }
    pam = camera.getParameters();
    pam.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
    camera.setParameters(pam);
    camera.stopPreview();

    lighton = false;
}
@Override
protected void onPause(){
    if (lighton == true) {
        lightoff();
        camera.release();
    }
    super.onPause();
}

@Override
protected void onResume() {
    togglebtn.setChecked(false);
    super.onResume();
}

}



Danke im vorraus:)

App, programmieren, Java, Android

Minecraft Server über IP geht nicht?

[20:24:39] [Server console handler/ERROR]: Exception handling console input java.io.IOException: Das Handle ist ungültig at java.io.FileInputStream.readBytes(Native Method) ~[?:1.8.0_77] at java.io.FileInputStream.read(Unknown Source) ~[?:1.8.0_77] at java.io.BufferedInputStream.read1(Unknown Source) ~[?:1.8.0_77] at java.io.BufferedInputStream.read(Unknown Source) ~[?:1.8.0_77] at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) ~[?:1.8.0_77] at sun.nio.cs.StreamDecoder.implRead(Unknown Source) ~[?:1.8.0_77] at sun.nio.cs.StreamDecoder.read(Unknown Source) ~[?:1.8.0_77] at java.io.InputStreamReader.read(Unknown Source) ~[?:1.8.0_77] at java.io.BufferedReader.fill(Unknown Source) ~[?:1.8.0_77] at java.io.BufferedReader.readLine(Unknown Source) ~[?:1.8.0_77] at java.io.BufferedReader.readLine(Unknown Source) ~[?:1.8.0_77] at la$2.run(SourceFile:93) [minecraft_server.1.9.2.jar:?] [20:24:39] [Server thread/INFO]: Starting minecraft server version 1.9.2 [20:24:39] [Server thread/WARN]: To start the server with more ram, launch it as "java -Xmx1024M -Xms1024M -jar minecraft_server.jar" [20:24:39] [Server thread/INFO]: Loading properties [20:24:39] [Server thread/INFO]: Default game type: SURVIVAL [20:24:39] [Server thread/INFO]: Generating keypair [20:24:39] [Server thread/INFO]: Starting Minecraft server on (Meine IP) [20:24:39] [Server thread/INFO]: Using default channel type [20:24:39] [Server thread/WARN]: FAILED TO BIND TO PORT! [20:24:39] [Server thread/WARN]: The exception was: java.net.BindException: Cannot assign requested address: bind [20:24:39] [Server thread/WARN]: Perhaps a server is already running on that port? [20:24:39] [Server thread/INFO]: Stopping server [20:24:39] [Server Shutdown Thread/INFO]: Stopping server

Das wär dann der Log. Ich weiß nicht was ich Falsch gemacht habe da ich mich überhaupt nicht mit Java auskenne. Bracuhe dringend Hilfe um diesen Fehler zu beheben. Danke im Vorraus !

Server, Java, Minecraft

Login Problem mit Knuddels!

Hey, also ich bin in dem Chat www.Knuddels.de angemeldet(den werden ja bestimmt einige kennen ;)). Das folgende Problem ist das ich seit ca. einer Woche mich nicht mehr einloggen kann bzw. es sehr doll hängt und kaum etwas angezeigt wird. Viele werden jetzt bestimmt denken entweder ist Java deaktiviert oder ich habe es nicht, aber es ist aktiviert denn ich habe nachgeschaut und vorher ging es ja auch! Habe die neuste Version von Java und auch einige andere Versionen ausprobiert. Dann habe ich mich nach anderen Browsern erkundigt und es mit mehreren probiert, normalerweise nehme ich Fire Fox aber dort wird das Login Fenster SCHWARZ angezeigt, bei dem Internet Explorere wird es WEIß oder LILA angezeigt. Dann holte ich mir Safari aber dort wird das Login Fenster GRAU angezeigt.Zum Schluss holte ich mir dann Google Chrome, es stand dort Java installieren, habe es einfach gemacht und zack es ging(man habe ich mich gefreut :) ) aber am nächsten Tag ging es nicht mehr -.-.Es ist auch so das es mal geht, aber es braucht ewig um sich aufzubauen und wenn ich es denn mal geschafft haben sollte in meinen Chanel hinein zukommen, denn braucht dieser auch ewig um sich aufzubauen und vor allem hängt es sehr…Als letztes hatte ich meinen Verlauf geleert aber es ging trotzdem nicht. Kann mir denn irgendjemand sagen was ich noch machen kann das ich dort wieder Chatten kann? Danke :)

LG Michelle

Chat, Java, knuddels

Wie kann ich bei spigot prüfen ob ein bestimmter Spieler gerade auf dem selben Server online ist?

Hallo,

ich hatte neulich mal wieder Lust ein Plugin zu schreiben und dachte mir, ich könnte doch mal einen Command einfügen, mit dem ma n den onlinestatus auf meinem Server abfragen kann. Leider bin ich wohl etwas raus gekommen. Folgendes habe ich programmiert

        if(cmd.getName().equalsIgnoreCase("team")) {
        if (args.length == 0){
            p.getServer().getPlayer("Spielername");
            if(p != null){
                p.sendMessage("Spieler: online");
                return true;
            } else {
                p.sendMessage("Spieler: offline");
                return true;
            }
            }
            }

Ja, das ist etwas unordentlich weil ich das etwas aus dem Kontext gerissen habe, aber das wesentliche sollte man erkennen können ;) Ich weiß, dass ich damit prüfe, ob der Spieler, der den Command ausführt online ist und nicht der Spieler den ich hinten angegeben habe, allerdings ist mein Problem eher, dass ich nicht weiß, ob dieser Code üerhaupt prüft, ob der Spieler auf dem Server ist, als viel mehr ob der Spieler in der Datenbank von Mojang eingespeichert ist, sprich einen Premium-Account besitzt. (Wie gesagt, ist lange her, dass ich mich mal mit bukkit / spigot befasst habe)

Wenn mir jemand sagen könnte, ob der Code überhaupt das tut, was ich will wäre das bereits eine große Hilfe. Wenn man mir direkt noch einen Tipp gibt, wie ich meinen Code "richtig" mache wäre das wirklich der Hammer :)

Vielen Dank

Server, online, programmieren, Java, selber, Spieler, Bukkit, Spigot

Meistgelesene Beiträge zum Thema Java