Reply -
Raw
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lab.pkg7.oppg.pkg2;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
/**
*
* @author henrik
*/
public class Lab7Oppg2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
boolean program_ferdig = false;
int c = 0;
input in = new input();
søk ref = new søk();
bok[] bøker = new bok[99];
Scanner read = new Scanner(System.in);
System.out.println("Dette programmet skal skal holde oversikt over bøkene i en bokhandel.");
System.out.println("Trykk R for å registrere en ny bok.");
System.out.println("Trykk S for å selge en bok.");
System.out.println("Trykk I for å få informasjon om bøkene i bokhandelen");
System.out.println("Trykk N for å legge til flere av en eksisterende bok.");
System.out.println("Trykk Q for å avslutte programmet.");
while (program_ferdig == false) {
char bokstav = read.next().toLowerCase().charAt(0);
switch (bokstav) {
case 'r':
bøker[c] = new bok();
System.out.println("Registrering av ny bok:");
System.out.println("Skriv inn bokens tittel");
String tittel = in.inputString();
bøker[c].settittel(tittel);
System.out.println("Skriv inn antall eksemplarer");
int eksemplar = in.inputInt();
bøker[c].settaleksemplar(eksemplar);
System.out.println("Skriv inn prisen på boken");
double pris = in.inputDouble();
bøker[c].setutsalspris(pris);
System.out.println("Skriv inn forfatteren til boken");
String forfatter = in.inputString();
bøker[c].setforfattar(forfatter);
c++;
break;
case 's':
System.out.println("Hvilken bok ønsker du å selge?");
System.out.println("Skriv navn for å søke etter navn, eller nummer for å søke etter bok nummer.");
bøker[0].registrersal();
break;
case 'i':
break;
case 'n':
break;
case 'q':
program_ferdig = true;
break;
default:
System.out.println("Ugyldig input, prøv på nytt");
break;
}
}
}
}
class bok {
static int nummer;
private String tittel;
private int eksemplar;
private double pris;
private String forfatter;
public void settittel(String t) {
tittel = t;
System.out.println("Tittelen på boken er: " + tittel);
}
public void settaleksemplar(int n) {
if (n >= 0 )
{
eksemplar = eksemplar + n;
System.out.println("Det er " + eksemplar + " eksemplar av boken " + tittel + " i systemet.");
}
else
{
System.out.println("Det må legges til en positiv menge bøker");
}
}
public void setutsalspris(double p) {
pris = p;
System.out.println("Prisen på " + tittel + "er nå satt til " + pris + "kr.");
}
public void setforfattar(String f) {
forfatter = f;
System.out.println("Forfatteren av boken heter" + forfatter);
}
public String gettittel() {
return tittel;
}
public int gettaleksemplar() {
return eksemplar;
}
public double getutsalspris() {
return pris;
}
public String getforfattar() {
return forfatter;
}
public void registrersal() {
if (eksemplar > 0) {
eksemplar--;
System.out.println("Du har solgt et eksemplar av " + tittel + " til " + pris + "kr");
}
else
{
System.out.println("Bokhandelen er desverre tom for " + tittel + ", og kan da ikkje selges.");
}
}
}
class input {
String inputString () {
boolean korrektInput = false;
String inputString = null;
//Scanner
Scanner read = new Scanner(System.in);
while (korrektInput == false) {
try {
inputString = read.nextLine();
// skjekker om verdien er i string format
if (inputString.equals((String) inputString)) {
korrektInput = true;
}
// om input ikkje er string vil dette resultatet komme fremfor at det crasher
} catch (Exception e) {
read.next();
System.out.print("Input må være et ord, prøv på nytt: ");
}
}
return inputString;
}
int inputInt() {
boolean korrektInput = false;
//Scanner
Scanner read = new Scanner(System.in);
int inputInt = 0;
while (korrektInput == false) {
try {
inputInt = read.nextInt();
// skjekker om verdien er et tall
if (inputInt == (int) inputInt) {
korrektInput = true;
}
// om input ikkje er et tall vil dette resultatet komme fremfor at det crasher
} catch (Exception e) {
read.next();
System.out.print("Input må være et nummer, prøv på nytt: ");
}
}
return inputInt;
}
double inputDouble() {
boolean korrektInput = false;
//Scanner
Scanner read = new Scanner(System.in);
double inputDouble = 0;
while (korrektInput == false) {
try {
inputDouble = read.nextDouble();
// skjekker om verdien er et tall
if (inputDouble == (double) inputDouble) {
korrektInput = true;
}
// om input ikkje er et tall vil dette resultatet komme fremfor at det crasher
} catch (Exception e) {
read.next();
System.out.print("Input må være et nummer, prøv på nytt: ");
}
}
return inputDouble;
}
}
class søk {
public int søkString (String søk){
for (int i = 0; i <= 99; ++i) {
if (søk.equals(bøker[i]())) {
}
}
return 5;
}
}