Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
int npreis = preis[0];
for (int k= 1; k < preis.length; k++){
if(npreis > preis[k] && npreis != 0) npreis = preis[k];
}
Das hatte ich dir vorher auch schon geraten zu überprüfenreinschreib er sucht aus dem Array immer die nächst tiefere er sieht die nullen die ausgeführt werden, wenn ich das Array abbreche mit "0" so wie Sascha das grad erklärt hat. Also wird er immer die Nullen finden.
Kann es sein, dass er die 0 erkennt, dann die Schleife abbricht, aber im Array an den Stellen, an der die Schleife nicht mehr war schon vorher nullen waren?
if ( j != 0 ){
preis[i] = j;
}
Sollte eigentlich gehen. Ich denke, dass Problem liegt in der Programmlogik. Du weißt ja jetzt, dass warscheinlich immer 0 auftreten. Mit diesem Wissen solltest du nochmal über deine Algorytmen nachdenkenIch kann mir nicht vorstellen das das nicht gehen soll das man ihm schlichtweg sagt "ey alda nimm keine null" ^.^
import java.util.Scanner;
public class MinExample
{
public static void main(String[] args)
{
int[] preis = new int[15];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < preis.length; i++)
{
System.out.print("Bitte Artikelpreis in Cent eingeben: ");
int j = sc.nextInt();
if (j == 0)
{
break;
}
preis[i] = j;
}
System.err.println("Kleinster Wert: "+getMinFromArray(preis));
}
private static int getMinFromArray(int[] intArray){
if(intArray == null || intArray.length == 0)
return -1;
int min = intArray[0];
for (int i = 1; i < intArray.length && intArray[i] != 0; i++)
{
if(min>intArray[i]){
min = intArray[i];
}
}
return min;
}
}
P.S.:
Es gibt eine Schleife die den höchsten wert ermittelt, allerdings die funktioniert ohne probleme.
Zitat:
int hpreis =0;
for (int l = 0; hpreis < preis[l]; l++)
{
hpreis = preis[l];
}
//sucht den höchsten preis aus dem array preis
System.out.println("Der höchste Preis beträgt" + hpreis + "Cent" );