Trädvy Permalänk
Medlem
Registrerad
Apr 2016

lite programmeringshjälp

Först jag vill att säga jag är inte svensk man så det kan bli lite svårt att förstå vad jag skriver

Jag läste om listor på programmering

Uppgiften är
public static boolean ärSorterat(LinkedList<Double> l)
som returnerar true eller false beroende på om listan är sorterad eller inte.
I main-metoden ska inläsning till listan göras samt anrop till metoden ärSorterat och utskrift om listan är sorterat eller inte.

Lärare sade det är ok om jag gör Integer istället för Double

Lärare sade när vi gör program, om vi knäppar på talet som är mindre eller större än föregående talet, boolean ska returneras true eller false.
Jag vill att göra boolean som ska returneras false om talet är mindre än föregående talet

Jag tänkte att skapa instance method boolean och ska anropa det.

class listor_{ public boolean ärSorterat (int x){ if(x<) } }

men jag har ingen ide vad måste jag skriva i parentesen if efter < tecken
Kan ni ge något tips eller har ni något lättare väg att lösa uppgiften?

package LISTOR; import java.util.*; //använd en lista för att lagra inmatade värden från tangentbordet, skri ut public class Kap17_ { public static void main(String[] args) { System.out.println("Skriv in några heltal till listan, avsluta med \\n;"); Scanner sc = new Scanner(System.in); LinkedList<Integer> tab = new LinkedList<Integer>(); while(sc.hasNextInt()) tab.add(sc.nextInt()); System.out.println("Talen är:"); for(Integer tal: tab){ if(tab.contains(tal)) System.out.print(tal + " "); } System.out.flush(); } }

Det är exempel som vi gjorde i klassen

Trädvy Permalänk
Medlem
Registrerad
Jun 2012

Skriver från telefonen.

Något i stil med (inte fungerande kod)

public static boolean ärSorterat(LinkedList<Integer> l) Integer prev = null; // Anta 1-99 sortering, stigande for(Integer num : l) { if(prev != null && prev > num) { return false; } prev = l; } return true;

Skickades från m.sweclockers.com

Trädvy Permalänk
Medlem
Registrerad
Apr 2016
Skrivet av usermane:

Skriver från telefonen.

Något i stil med (inte fungerande kod)

public static boolean ärSorterat(LinkedList<Integer> l) Integer prev = null; // Anta 1-99 sortering, stigande for(Integer num : l) { if(prev != null && prev > num) { return false; } prev = l; } return true;

Skickades från m.sweclockers.com

Tack Tack Tack Tack så mycket!

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2002

Det borde gå att utöka så att den går igenom alla talen i listan oavsett längd.
Det borde gå att utöka så att man kan välja om man vill kontrollera stigande eller fallande.

Principen borde vara som usermane har givit som förslag, d.v.s. kom ihåg vilket föregående värdet var och kontrollera om den är sorterad även för nästa värde i listan. Om man kan gå igenom hela listan så är den sorterad, om det inte går så avbryts kontrollen.