Kann mir wer bei einer Java Aufgabe mit einem 2D Array helfen? Danke

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Relativ einfache Sache.

Du führst in deiner innersten for-Schleife eine if-Abfrage mit = aus.

 if(bla=true)

Ändere das in den korrekten Vergleichsoperator == zu

 if(bla==true)

und es sollte laufen.

1

Danke! Ist mir die ganze Zeit über nicht aufgefallen.....-.- 

0
26
@Intred

Kein Ding. Das ist auch wirklich so eine Sache, wo man Ewigkeiten suchen kann.

0

Den kompleten IF-Block kannst du ersetzen durch:

newQ[i*f][j*f] = q[i][j];

Das Problem ist deine Schleifenbedingung. Die Schleife muss nicht laufen solange k<(i+1)*f, sondern k<=l*f.

Elemente in Arrays (java) einfügen?

 Hallo! Hier habe ich ein bisschen mit Arrays rumgespielt. Es soll eine 0 in das kopierte Array vor der jeweiligen Zahl eingesetzt werden, wenn diese kleiner als 10 ist. Wenn die Zahl größer als 10 ist, dann wird eine 1 vor die jeweilige Zahl gesetzt.

Wäre so ein Lösungsansatz akzeptabel oder haben sich Fehler eingeschlichen?

Muss dazu sagen, dass ich ein Anfänger bin :)

Danke im Vorraus!

Der Code lautet:

public class Array {
    public static void main (String[] args){
       Array arrayListe = new Array();
       int[] liste = {5, 20, -9};
       int[] rueckgabe = Array.veraendereArray[liste];
       for(int element : rueckgabe){
       System.out.println(element);
    }
 }
public static int [] veraendereArray(int[] liste){
   int[] rueckgabe = new int[liste.length+4];
   for(int i = 0; i <= liste.length; i++){
      if(element <10){
         rueckgabe[i+1]=0;
      }
      else{
         rueckgabe[i+1] =1;
      }
   }
}
 }
...zur Frage

Obejekt orienetiertes Programmieren... wäre das so richtig?

Hallo,

ich weiss das in dem Programmstück das jetzt kommt bestimmt viele fehler sein werden aber ich weiss nur nicht was die fehler sind. Ich arbeite mit Eclipse und es zeigt mir wo die Fehler sind nur weiss ich nicht wie ich diese beheben soll.... Ich hoffe man kann mir helfen. Bin gerade dabei OOP zu lernen und naja... Hier das Programmstück

import java.io.*;

public class Mensakarte { double guthaben; String besitzer; boolean gesperrt;

public Mensakarte(){ guthaben = 0.0; besitzer = "Helene"; gesperrt = true; } public static void main(String args[]) throws IOException {

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int choice = 0;
boolean erfolg;

do {
  
  System.out.println();
  System.out.println("Bitte waehlen:");
  System.out.println("(1) Karte aufladen");
  System.out.println("(2) Guthaben anzeigen");
  System.out.println("(3) Kaffee abbuchen");
  System.out.println("(4) Essen abbuchen");
  System.out.println("(5) Verbleibende Kaffees anzeigen");
  System.out.println("(6) Sperre toggeln");
  System.out.println("(0) Ende");
  choice = Integer.parseInt(in.readLine());
  System.out.println();
  
  switch (choice) {
    
    case 1:
    System.out.print("Aufladebetrag? ");
    double betrag = Double.parseDouble(in.readLine());
       aufladen(betrag);
    break;
    
    case 2:
       guthaben();
    break;
    
    case 3:
       kaffe_abbuchen();
    break;
    
    case 4:
    System.out.print("Essenspreis? ");
    double preis = Double.parseDouble(in.readLine());
       essen_abbuchen (guthaben);
    break;
    
    case 5:
      anzahl();
    break;
    
    case 6:
      toggeln();
    break;
    
  }
  
} while (choice!=0);

} public static double aufladen(double plus){ if (plus >=0) {

    guthaben = guthaben + plus;
return guthaben;
}

}
public double guthaben(){
double guthaben=guthaben; return guthaben; }
public boolean kaffe_abbuchen(){ if (guthaben>= 1.20) { guthaben = guthaben - 1.20;

  return true;
}
else {
  return false; 
}

} public boolean essen_abbuchen(double preis){ if (guthaben>=preis) { guthaben = guthaben - preis;

  return true;
}
else {
  return false;
}

} public int anzahl(){ int zahl; zahl = guthaben/1.20;

return guthaben;

}
public boolean toggeln(){ boolean gesperrt;

if (gesperrt=true) {
  return false;
    
  } 
  else {
   return true;   
  }

} }

...zur Frage

Wo ist mein Fehler im Häusersystem?

Hey, ich programmiere derzeit ein Häusersystem in Minecraft.

Ich habe mir das so vorgestellt, dass ein Schild im Radius von 3 Blöcken (von der Tür aus) ein Schild sein muss und dort der Name des Spielers drin stehen sollte.

Soweit so gut, so habe ich das gemacht. Doch trotz Schild können andere Spieler die Türen öffnen.

Ich bedanke mich schon einmal im Voraus für die Antworten.

_________________________________________

  @EventHandler
  public void onOpenDoor(PlayerInteractEvent e) {
    if (e.getAction() == Action.LEFT_CLICK_BLOCK || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
      Block b = e.getClickedBlock();
      Player p = e.getPlayer();
  
      if (b.getType() == Material.WOODEN_DOOR) {
        Door d = (Door) b.getState().getData();
        int radius = 3;
        Block middle = b;
  
        for (int x = radius; x >= -radius; x--) {
          for (int y = radius; y >= -radius; y--) {
            for (int z = radius; z >= -radius; z--) {
              if (middle.getRelative(x, y, z).getType() == Material.WALL_SIGN) {
                Sign s = (Sign) middle.getRelative(x, y, z).getState();
  
                if (!(s.getLine(1).equals("" + p.getName() + ""))) {
                  if (!d.isOpen()) {
                    d.setOpen(true);
  
                    if (d.isTopHalf())
                      ((Door)b.getRelative(BlockFace.DOWN, 1).getState().getData()).setOpen(true);
                    else
                      ((Door)b.getRelative(BlockFace.UP, 1).getState().getData()).setOpen(true);
  
                    if (e.isCancelled()) {
                      e.setCancelled(false);
                    }
  
                    b.getState().update();
                  }
                  else {
                    d.setOpen(false);
  
                    if (d.isTopHalf())
                      ((Door)b.getRelative(BlockFace.DOWN, 1).getState().getData()).setOpen(false);
                    else
                      ((Door)b.getRelative(BlockFace.UP, 1).getState().getData()).setOpen(false);
  
                    if (e.isCancelled()) {
                      e.setCancelled(false);
                    }
  
                    b.getState().update();
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
...zur Frage

Kann mir jemand diesen Java-Code für das Bubble Sort Verfahren erklären?

Hi, kann mir jemand diesen Java Code für das Bubble Sort Verfahren in Bezug auf folgende Fragen erklären?

public class BubbleSort { 
public static void sortiere(int[] x) {
  boolean unsortiert=true;
  int temp;
  
  while (unsortiert){
     unsortiert = false;
     for (int i=0; i < x.length-1; i++) 
        if (x[i] > x[i+1]) {                      
           temp       = x[i];
           x[i]       = x[i+1];
           x[i+1]     = temp;
           unsortiert = true;
        }          
  } 
}

public static void main(String[] args) {
  int[] liste = {0,9,4,6,2,8,5,1,7,3};
  sortiere(liste);
  for (int i=0; i<liste.length; i++) 
     System.out.print(liste[i]+" ");    
   } 
}

Der Code entstammt von dieser Seite: http://www.java-uni.de/index.php?Seite=85 Dort wird er aber nicht erklärt.. - Was bedeutet der Befehl "boolean"? - Was meint man mit int temp? - Wie läuft die while-Schleife ab, wenn innerhalb davon eine for-Schleife und innerhalb davon verschiedene if-Bedingungen aufgelistet sind?

Ich hoffe jemand nimmt sich die Zeit. Wär Euch sehr dankbar. :)

...zur Frage

Was möchtest Du wissen?