Tee ohjelma Lento, jolla voidaan selvittää lennon numerosta, onko kyseessä Finnairin lento. Jos lennon numeron alussa on AY, kyseessä on Finnairin lento. Jos kyseessä on Finnairin lento, selvitetään lisäksi, onko kyseessä kaukolento, kotimaan lento vai Venäjän lento. Jos lennon numeron kolmas merkki on 1, kyseessä on kaukolento, 2-6 kotimaan lento, 7 Venäjän lento. Merkkijonon voi muuntaa numeroksi
int numero = Integer.parseInt(merkkijono);
Ohjelman sallitut tulosteet ovat: "Kaukolento", "Kotimaan lento", "Venäjän lento" tai "Ei ole Finnairin lento".
Example output:
Anna lennon numero: AY105
Kaukolento
Lento.java
import java.util.Scanner;
public class Lento {
public static void main(String[] args) {
Scanner syote = new Scanner(System.in);
String lentoID = "";
String lentoTyyppi = "";
boolean lentoFinnair = false;
int lentoIDLength = 5;
System.out.print("Anna lennon numero: ");
lentoID = syote.next();
if (lentoID.length() == lentoIDLength) {
if (lentoID.substring(0,2).equals("AY")) {
lentoFinnair = true;
}
// if numID is not integer, throw exception and exit
try {
// Obtain third character of the input string
// charAt sets data type to 'char', thus String.valueOf() method is required
// for char to String conversion
// Convert String to int using Integer.parseInt() method
int numID = Integer.parseInt(String.valueOf(lentoID.charAt(2)));
if (lentoFinnair) {
switch(numID) {
case 1:
lentoTyyppi = "Kaukolento";
break;
case 7:
lentoTyyppi = "Venäjän lento";
break;
default:
if (numID >= 2 && numID <= 6) {
lentoTyyppi = "Kotimaan lento";
} else {
System.err.println("Tuntematon lentotyyppi");
System.exit(1);
}
break;
}
}
System.out.println(lentoTyyppi);
} catch (NumberFormatException e) {
System.err.println("Lennon numero-osan alku ei ole oikein. Tarkista ja yritä uudelleen");
System.exit(1);
}
} else {
System.out.println("Ei ole Finnairin lento");
}
}
}