napisałem taki kod za pomocą list, ale muszę oddać projekt za pomocą tablic, próbuję sam ale cały czas coś mi nie działa. Pomóżcie mi co mam zmienić, żeby zamiast list wprowadzić tablice jednowymiarową, jestem początkujący programistą.
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.net.PortUnreachableException;
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
import javax.lang.model.SourceVersion;
import javax.lang.model.util.ElementScanner6;
import javax.sound.sampled.SourceDataLine;
import javax.xml.crypto.Data;
public class Komis {
List<String> Imie = new ArrayList<>();
List<String> Nazwisko = new ArrayList<>();
List<String> Marka = new ArrayList<>();
List<String> Model = new ArrayList<>();
List<Integer> Rok = new ArrayList<>();
List<String> Data_zakupu = new ArrayList<>();
Scanner scannner = new Scanner(System.in);
void Dodawanie (Integer i, String a, String b,String c, String d, Integer e, String f) {
Imie.add(i, a);
Nazwisko.add(i,b);
Marka.add(i,c);
Model.add(i,d);
Rok.add(i,e);
Data_zakupu.add(i,f);
}
void Usuwanie (int i){
Imie.remove(i);
Nazwisko.remove(i);
Marka.remove(i);
Model.remove(i);
Rok.remove(i);
Data_zakupu.remove(i);
}
void Aktualizacja (Integer i, String a, String b, String c, String d, Integer e, String f) {
Imie.set(i, a);
Nazwisko.set(i,b);
Marka.set(i,c);
Model.set(i,d);
Rok.set(i,e);
Data_zakupu.set(i,f);
}
void Szukanie1 (String nazwa, String atrybut)
{
switch (nazwa)
{
case "Imie":
{ int j= Imie.size();
int licznik = 0;
for (int i = 0; i<j; i++){
String k = Imie.get(i);
if(k.equals(atrybut)){
System.out.println("Szukane Imie znajduje sie w rekordzie " +i);
licznik = licznik +1;
}
}
if (licznik==0){
System.out.println("brakuje wskazanej wartosci");
}
break;
}
case "Nazwisko":
{ int j= Nazwisko.size();
int licznik = 0;
for (int i = 0; i<j; i++){
String k = Nazwisko.get(i);
if(k.equals(atrybut)){
System.out.println("Szukane Nazwisko znajduje sie w rekordzie " +i);
licznik = licznik +1;
}
}
if (licznik==0){
System.out.println("brakuje wskazanej wartosci");
}
break;
}
case "Marka":
{ int j= Marka.size();
int licznik = 0;
for (int i = 0; i<j; i++){
String k = Marka.get(i);
if(k.equals(atrybut)){
System.out.println("Szukane Marka znajduje sie w rekordzie " +i);
licznik = licznik +1;
}
}
if (licznik==0){
System.out.println("brakuje wskazanej wartosci");
}
break;
}
case "Model":
{ int j= Model.size();
int licznik = 0;
for (int i = 0; i<j; i++){
String k = Model.get(i);
if(k.equals(atrybut)){
System.out.println("Szukane Model znajduje sie w rekordzie " +i);
licznik = licznik +1;
}
}
if (licznik==0){
System.out.println("brakuje wskazanej wartosci");
}
break;
}
case "Data_zakupu":
{ int j= Data_zakupu.size();
int licznik = 0;
for (int i = 0; i<j; i++){
String k = Data_zakupu.get(i);
if(k.equals(atrybut)){
System.out.println("Szukane Data_zakupu znajduje sie w rekordzie " +i);
licznik = licznik +1;
}
}
if (licznik==0){
System.out.println("brakuje wskazanej wartosci");
}
break;
}
}
}
void Szukanie2 (String nazwa, int atrybut)
{
switch(nazwa)
{
case "Rok":
{ int j= Data_zakupu.size();
int licznik = 0;
for (int i = 0; i<j; i++){
int k = Rok.get(i);
if(k==atrybut){
System.out.println("Szukany Rok znajduje sie w rekordzie " +i);
licznik = licznik +1;
}
}
if (licznik==0){
System.out.println("brakuje wskazanej wartosci");
}
break;
}
case "Rekord":
{ int j= Rok.size(); ;
if(atrybut >= j){
System.out.println("podany rekord nie istnieje");
}
else {
String Imie1 = (String)Imie.get(atrybut);
String Nazwisko1 = (String)Nazwisko.get(atrybut);
String Model1 = (String)Model.get(atrybut);
String Marka1 = (String)Marka.get(atrybut);
int Rok1 = (int)Rok.get(atrybut);
String Data_zakupu1 = (String)Data_zakupu.get(atrybut);
System.out.println ("Wyszukano rekord: "+ atrybut + ": Imię: "+Imie1 + " Nazwisko: " + Nazwisko1 +" Model: "+ Model1 +"Marka: "+ Marka1 +"Rok: "+ Rok1 +"Data zakupu: "+ Data_zakupu1);
}
break;
}
}
}
void Zapis() throws FileNotFoundException {
PrintWriter zapis = new PrintWriter("projekt.txt");
for (int i = 0; i < Nazwisko.size() ; i++) {
zapis.print(Imie.get(i) + " ");
zapis.print(Nazwisko.get(i) + " ");
zapis.print(Model.get(i) + " ");
zapis.print(Marka.get(i) + " ");
zapis.print(Rok.get(i) + " ");
zapis.print(Data_zakupu.get(i) + "\n ");
}
zapis.close();
}
}
class Main
{
public static void main(String[] args)throws FileNotFoundException
{
Komis komis=new Komis();
boolean wejscie = true;
Scanner scann = new Scanner(System.in);
while(wejscie == true)
{
System.out.println("Wpisz 1 jesli chcesz dodac rekord w bazie");
System.out.println("Wpisz 2 jesli chcesz usunac rekord");
System.out.println("Wpisz 3 jesli chcesz zaaktualizowac rekord");
System.out.println("Wpisz 4 jesli chcesz przeszukac rekord");
System.out.println("Wpisz 5 jesli chcesz zapisac do pliku");
System.out.println("Wpisz 6 jesli chcesz wyjsc z programu");
System.out.println("");
Scanner scanner = new Scanner(System.in);
int scannn= scanner.nextInt();
switch(scannn)
{
case 1:
{
System.out.println("Podaj imię");
String a=scann.nextLine();
System.out.println("Podaj Nazwisko");
String b=scann.nextLine();
System.out.println("Podaj Marka");
String c=scann.nextLine();
System.out.println("Podaj Model");
String d=scann.nextLine();
System.out.println("Podaj Rok");
int e=scanner.nextInt();
System.out.println("Podaj Data_zakup");
String f=scann.nextLine();
int i = komis.Imie.size();
if (i<4 ) {
komis.Dodawanie(i,a,b,c,d,e,f);
String Imie1 = (String)komis.Imie.get(i);
String Nazwisko1 = (String)komis.Nazwisko.get(i);
String Model1 = (String)komis.Model.get(i);
String Marka1 = (String)komis.Marka.get(i);
int Rok1 = (int)komis.Rok.get(i);
String Data_zakupu1 = (String)komis.Data_zakupu.get(i);
System.out.println ("Dodano nowy rekord :"+ i+ ": Imię: "+Imie1 + " Nazwisko: " + Nazwisko1 +" Model: "+ Model1 +" Marka: "+ Marka1 +" Rok: "+ Rok1 +" Data zakupu: "+ Data_zakupu1);
}
else {
System.out.println("PRZEKROCZYLES LIMIT REKORDOW, TERAZ WYBIERZ LICZBE 2-6");
System.out.println("");
}
break;
}
case 2:
{
System.out.println("Który rekord usunac? Pamietaj, ze rekordy numerowane sa od 0");
int i=scanner.nextInt();
komis.Usuwanie(i);
System.out.println ( komis.Imie);
break;
}
case 3:
{
System.out.println("Podaj rekord, ktory chcesz zaaktualizowac, pamietaj, ze rekordy numerowane sa od 0");
int i=scann.nextInt();
System.out.println("Podaj imie");
String a=scann.nextLine();
System.out.println("Podaj Nazwisko");
String b=scann.nextLine();
System.out.println("Podaj Marka");
String c=scann.nextLine();
System.out.println("Podaj Model");
String d=scann.nextLine();
System.out.println("Podaj Rok");
int e=scanner.nextInt();
System.out.println("Podaj Data_zakupu");
String f=scann.nextLine();
komis.Aktualizacja(i,a,b,c,d,e,f);
String Imie1 = (String)komis.Imie.get(i);
String Nazwisko1 = (String)komis.Nazwisko.get(i);
String Model1 = (String)komis.Model.get(i);
String Marka1 = (String)komis.Marka.get(i);
int Rok1 = (int)komis.Rok.get(i);
String Data_zakupu1 = (String)komis.Data_zakupu.get(i);
System.out.println ("Zaktualizowano rekord "+i+ ": Imię: "+Imie1 + " Nazwisko: " + Nazwisko1 +" Model: "+ Model1 +"Marka: "+ Marka1 +"Rok: "+ Rok1 +"Data zakupu: "+ Data_zakupu1);
break;
}
case 4:
{
System.out.println("Wybierz liste, z ktorej chcesz szukac. Wybierz: Imie, Nazwisko, Marka, Model, Rok, Data_zakupu lub Rekord");
String nazwa = scann.nextLine();
if(nazwa.equals("Rok") || nazwa.equals("Rekord")){
System.out.println("Podaj wartosc: ");
int W = scanner.nextInt();
komis.Szukanie2(nazwa, W);
}
else {
System.out.println("Podaj wartosc: ");
String WW = scann.nextLine();
komis.Szukanie1(nazwa, WW);
}
break;
}
case 5:
{
komis.Zapis();
break;
}
case 6:
{
wejscie = false;
break;
}
default:
{
System.out.println("blad, Wybierz liczbe 1-6");
break;
}
}
}
}
}