Behöver hjälp med Java-uppgift för nybörjare!

Permalänk

Behöver hjälp med Java-uppgift för nybörjare!

Hej!
Jag är helt ny inom programmering och har kört fast med en skoluppgift. Skulle vara så tacksam om någon kunde ge mig några tips på hur jag kan lösa resten av uppgiften.

Jag ska skapa ett program som skriver ut slumptal och sedan sorterar dessa. Användaren ska först välja hur många slumptal som önskas mellan 0-999, sen skriver programmet ut önskat antal slumpade nummer i en lista. Detta har jag lyckats göra med koden nedan.

Nu ska alla slumpade nummer sorteras enligt nedan och jag har verkligen ingen aning om hur jag ska göra. Har försökt att googla på olika lösningar men hittar inget som fungerar i min kod.

Programmet ska:
1. Ordna slumptalen så att dom ligger i ordningen minsta jämna heltal till största jämna heltal.
2. Sedan största udda heltal till minsta udda heltal.
3. Slutligen ska programmet skriva ut talen i den ordning dom ligger i arrayen med ett skiljetecken mellan jämna och udda tal samt antalet jämna och udda tal.

Vore oändligt tacksam för lite tips!
Här är min kod hittils:

import java.util.Scanner;

class Main {
public static void main(String[] args) {

Scanner sc = new Scanner(System.in); {

System.out.println("Hur många slumptal 0-999 önskas?");

int myChoice = sc.nextInt();

int [] arrayNumb = { 0,1,2,3,4,5,6,10,99,100 };

int [] arrayRand = new int [myChoice];

for( int index = 0; index < arrayRand.length; index++ )
{
arrayRand[index] = (int) (Math.random()*100);
}

for( int index = 0; index < arrayRand.length; index++)
{
System.out.println(arrayRand [index]);

}

}
}
}

Permalänk
Medlem

Ett tips är att börja med att sortera arrayen så att alla jämna tal ligger först och alla ojämna sist utan hänsyn till storleksordningen. När du fått det att fungera så kan du sen sortera de båda delarna av arrayen i storlekordning med valfri sorteringsmetod.

Permalänk
Medlem
Skrivet av amandasofia11:

Hej!
Jag är helt ny inom programmering och har kört fast med en skoluppgift. Skulle vara så tacksam om någon kunde ge mig några tips på hur jag kan lösa resten av uppgiften.

Jag ska skapa ett program som skriver ut slumptal och sedan sorterar dessa. Användaren ska först välja hur många slumptal som önskas mellan 0-999, sen skriver programmet ut önskat antal slumpade nummer i en lista. Detta har jag lyckats göra med koden nedan.

Nu ska alla slumpade nummer sorteras enligt nedan och jag har verkligen ingen aning om hur jag ska göra. Har försökt att googla på olika lösningar men hittar inget som fungerar i min kod.

Programmet ska:
1. Ordna slumptalen så att dom ligger i ordningen minsta jämna heltal till största jämna heltal.
2. Sedan största udda heltal till minsta udda heltal.
3. Slutligen ska programmet skriva ut talen i den ordning dom ligger i arrayen med ett skiljetecken mellan jämna och udda tal samt antalet jämna och udda tal.

Vore oändligt tacksam för lite tips!
Här är min kod hittils:

import java.util.Scanner;

class Main {
public static void main(String[] args) {

Scanner sc = new Scanner(System.in); {

System.out.println("Hur många slumptal 0-999 önskas?");

int myChoice = sc.nextInt();

int [] arrayNumb = { 0,1,2,3,4,5,6,10,99,100 };

int [] arrayRand = new int [myChoice];

for( int index = 0; index < arrayRand.length; index++ )
{
arrayRand[index] = (int) (Math.random()*100);
}

for( int index = 0; index < arrayRand.length; index++)
{
System.out.println(arrayRand [index]);

}

}
}
}

Jag stoppade in din kod i en editor och tog bort lite onödiga rader.

import java.util.Scanner; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Hur många slumptal 0-999 önskas?"); int myChoice = sc.nextInt(); int [] arrayRand = new int [myChoice]; for( int index = 0; index < arrayRand.length; index++ ) { arrayRand[index] = (int) (Math.random()*100); } /* Här stoppar du in sorteringen :) */ for( int index = 0; index < arrayRand.length; index++) { System.out.println(arrayRand [index]); } } }

Det som kvarstår är alltså själva sorteringen.

Spontant tänker jag mig att du behöver stifta bekantskap med Array.sort() och modulus-operatorn %.

Visa signatur

:(){ :|:& };:

🏊🏻‍♂️   🚴🏻‍♂️   🏃🏻‍♂️   ☕

Permalänk
Vila i frid

Som alltid när man lär sig - är det bäst att göra misstagen själv och inte få tips om "så här gör man" då det inte främjar problemlösning.

Kan du beskriva uppgiften med ord i detalj kan du skriva ett program som utför det. Att förstå uppgiften är det "svåra".
Tips #1, stäng av TV, mobiltelefon och radio medans du utför uppgiften.

Permalänk
Medlem

Skapa två arrays => en för jämna och en för udda tal. Kolla då varje slumpmässigt genererade tal genereras ifall det är ett udda eller jämnt heltal och skriv till rätt array. Sortera sedan bägge arrays enligt uppgift. Skriv ut arrays och räkna längden => lägg till skiljetecken emellan. Ifall du vill slå ihop arrays: https://www.baeldung.com/java-concatenate-arrays. För reverse sortering: Du kan enkelt multiplicera alla heltal med -1 för att först få dem i descending order och sedan igen multiplicera med -1 för att få dem till positiva värden igen.

Visa signatur

Samsung 77" S90C QD-OLED || LG OLED 42C2 || Sony 77" A80J OLED || Macbook Pro 16" M1 Max 1TB 32GB || Asus ROG Azoth med Black Ink V2s (205g0) + Asus ROG Harpe ACE

Permalänk

Tack snälla allihop för hjälpen!! Tror jag har kommit på hur jag ska göra nu!