Nyckelord: Array, Scanner

Skriv ut index för första förekomsten av ett värde i en array
Skriv ett program som ber användaren att ange en siffra mellan 1 – 20 och sedan med hjälp av ett Scanner-objekt läsa in och spara ned värdet. Jämför sedan det värdet mot elementen i den givna array values nedan. Skriv ut index för första förekomsten av värdet i array:n och ifall värdet inte finns i array:n så skriv ut att “värdet kunde inte hittas”.
Programmet ska även kolla så att värdet som användaren skrivit in ligger i intervallet 1 <= tal <= 20.
Testa gärna att användaren anger någon av de siffror som det finns fler än en förekomst av i array:n för att se så programmet skriver ut första förekomsten, t.ex. siffran 5.
Exempel:
- Anger användaren värdet 4 ska programmet skriva ut: Index: 2
- Anger användaren värdet 7 ska programmet skriva ut: Värdet kunde inte hittas
- Anger användaren värdet 21 ska programmet skriva ut: Ogiltigt värde
public static void main(String[] args) {
int[] values = {2, 5, 4, 5, 1, 8, 9, 10, 20, 8, 2, 5, 19, 17, 15, 13};
}
Lösning
import java.util.Scanner;
/**
* Created by ProgrammeraJava.se.
*/
public class Main {
public static void main(String[] args) {
int[] values = {2, 5, 4, 5, 1, 8, 9, 10, 20, 8, 2, 5, 19, 17, 15, 13};
Scanner input = new Scanner(System.in);
// Frågar om ett tal och sparar ner inputen i variabeln val
System.out.println("Ange tal i arrayen: ");
int val = input.nextInt();
/* Kontrollerar att inputen är inom det angivna intervallet.
* Stänger av programmet om fel intervall angivits */
if(val < 1 || val > 20){
System.out.println("Ogiltigt värde");
System.exit(0);
}
/* Loopar igenom alla värden i listan.
* Skriver ut indexet på första förekomsten av värdet.
* Stänger sedan av programmet.
*/
for(int i = 0; i < values.length; i++){
if(val == values[i]){
System.out.println("Index: " + i);
System.exit(0);
}
}
System.out.println("Värdet kunde inte hittas");
}
}