У меня есть класс Runner
, который имеет name
, startnr
, weight
и age
. Я должен быть в состоянии создать и напечатать Runner.
public class Runner {
private String name;
private int startnr;
private int weight;
private int age;
public Runner(String name, int startnr, int weight, int age){
this.name = name;
this.startnr = startnr;
this.weight = weight;
this.age = age;
print();
}
public static void main(String[] args){
createRunner();
}
public void print(){
System.out.println("Name: " + name);
System.out.println("Startnr: " + startnr);
System.out.println("Weight: " + weight);
System.out.println("Age " + age);
}
public static void createRunner(){
Runner One = new Runner("Two", 0,76,24);
Runner Two = new Runner("One", 1, 80, 21);
}
}
Тогда у меня есть класс ControlRunner
, который должен позволять управлять бегунами, то есть
- бегунов можно читать (со сканером)
- каждый бегун получает отдельного
startnr
- бегуны должны быть внутри
Vector
- должна быть возможность распечатать всех бегунов
- это должно быть возможноудалить бегуна с определенным startnr
Это то, что у меня есть до сих пор:
import java.util.Scanner;
import java.util.Vector;
public class ControlRunner {
static Scanner sc = new Scanner(System.in);
private static int startnr = 1;
private static Vector v;
private static String output, name;
private static int weight, age;
static Runner myrunner;
public static void main(String[] args){
createLaeufer();
}
public static void createLaeufer(){
System.out.println("Write the amount of runners you want to create");
Vector<Runner> vector = new Vector<>();
int amount = sc.nextInt();
for (int i = 1; i <= amount; i++) {
System.out.println("Write the name of the runner: ");
name = sc.next();
System.out.println("Write the weight of the runner: ");
weight = sc.nextInt();
System.out.println("Write the age of the runner: ");
age = sc.nextInt();
myrunner = new Runner(name, startnr, weight, age);
vector.add(myrunner);
// v.forEach(Runner -> myrunner.print());
startnr++;
}
System.out.println("Do you want to print all runners? (Y/N) ");
output = sc.next();
if (output.equals("Y")) {
vector.forEach(Runner -> myrunner.print());
} else {
return;
}
System.out.println("Do you want to delete a runner? (Y/N) ");
String delete = sc.next();
if (delete.equals("Y")){
System.out.print("Write the starting number: ");
int nummer = sc.nextInt();
vector.remove(nummer - 1);
} else {
return;
}
}
}
У меня проблема в том, что я не знаю, как напечатать всебегуны через вектор. (Прямо сейчас, это только печатает один). Другая проблема заключается в том, что он удаляется после удаления бегуна, потому что остальное просто дает return
. (Я не думаю, что структура хорошая, потому что я новичок в Java). Как я могу улучшить это?