Sprawdzenie zadania

0

Jestem początkującym programistą, ale ze względu na pracę musiałem odłożyć na jakiś czas pisanie i teraz gdy znalazłem chwilkę postanowiłem zrobić kilka prostych zadanek znalezionych w necie... Proszę was o sprawdzenie poprawności kodu okiem bardziej doświadczonych programistów ;p Program działa jak należy, ale nie jestem do końca pewien poprawności sposobu na wypełnianie tabeli...

Zad 1.
Napisz program składający się z dwóch klas, umieszczonych w dwóch plikach (ale w jednym pakiecie). Jeden plik ma zawierać definicję klasy Osoba (z imieniem i nazwiskiem oraz metodami pozwalającymi na odczytywanie i zapisywanie tych atrybutów oraz konstruktorem), drugi ma wczytać od użytkownika dane 10 osób, zapamiętać je w tablicy osób, a następnie wypisać w odwrotnej kolejności.

public class Osoba {
	public Osoba(String aName, String aSurname){
		name = aName;
		surname = aSurname;
	}
	
	public String getName(){
		return name;
	}
	
	public String getSurname(){
		return surname;
	}
	
	public void setName(String aName){
		name = aName;
	}
	
	public void setSurname(String aSurname){
		surname = aSurname;
	}
	
	private String name = "";
	private String surname = "";
}
 
 
import java.util.*;

public class Test {
	public static void main(String[] args){
		String[][] osoby = new String [10][2];
		
		Osoba[] person = new Osoba[10];
		
		Scanner in = new Scanner(System.in);
		
		System.out.println("Wprowadź dane 10-ciu osób: [imie ENTER nazwisko ENTER...");
		for(int i=0; i<person.length; i++){
			person[i]= new Osoba(in.nextLine(), in.nextLine());
			osoby[i][0]= person[i].getName();
			osoby[i][1]= person[i].getSurname();				
		}
		
		for(int i=person.length; i>0; i--){
			System.out.println(person[i-1].getName()+" "+person[i-1].getSurname());
		}
	}
}

ps. w tym temacie będę co jakiś czas wklejał kolejne zadania i prosił o dalsze sprawdzenia...

1
  1. Do czego służy tablica Osoby?
  2. W zadaniu jest mowa o pakiecie, dodałbym na początku obu klas deklarację
package malymakar.zadanie1;
0

W tablicy osoby przechowuje dane o osobach, ale po co to juz nie wiem ;p Domyślam się, że źle zrozumiałem...
Fragment "zapamiętać je w tablicy osób" dotyczy mojej tablicy person tak?

1

Tak, choć logiczniejsza byłaby nazwa persons.

0

Okej, a teraz jeszcze jeżeli chodzi o fragment "Jeden plik ma zawierać definicję klasy Osoba (z imieniem i nazwiskiem oraz metodami pozwalającymi na odczytywanie i zapisywanie tych atrybutów oraz konstruktorem" to nie bardzo rozumiem jaki jest w tym cel... W klasie Osoba mam metody setName oraz setSurname, ale nie mam potrzeby korzystania z nich, bo dane wprowadzam z konstruktora, także ocb w poleceniu zadania?

0

To spróbuj zastąpić czymś ten kod

   for(int i=person.length; i>0; i--){
      System.out.println(person[i-1].getName()+" "+person[i-1].getSurname());
  }

jeżeli w klasie Osoba nie ma metod getName() i getSurname().

0

Chodzi mi o

malymakar napisał(a)

metody setName oraz setSurname

1

Np. jedna z osób wyjdzie za mąż i zmieni nazwisko. W tym zadaniu metody setName() i setSurname() są nadmiarowe. Żeby były konieczne możesz usunąć konstruktor dwuargumentowy i zostawić tylko bezargumentowy. Ale to będzie bardzo nienaturalne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1