我需要管理一家咨询公司。公司需要添加可分配给多个人的任务(läggtilluppdrag)。当我尝试打印任务列表(listauppdrag)时,当任务仅分配给一个人时,它可以正常工作,但是当多个人共享同一个任务时,它只打印出我在任务上添加的最后一个人。我如何打印它们?
public static void läggTillUppdrag(){
Scanner sc= new Scanner(System.in);
System.out.print("Ange uppdrags namn:");
String namn= sc.nextLine();
System.out.print("Ange uppdrags beskrivning:");
String beskrivning= sc.nextLine();
System.out.print("Ange datum:");
int datum= sc.nextInt();
System.out.print("Ange uppdrags timmar:");
int timmar= sc.nextInt();
boolean uppfyllt=false;
Scanner sc2= new Scanner(System.in);
System.out.print("Hur många kunder delar på uppdraget?");
int nummer= sc2.nextInt();
int totalprocent=0;
boolean finns=false;
for (int i=0;i<nummer;i++){
sc2.nextLine();
System.out.print("Ange kundens namn:");
String Knamn= sc2.nextLine();
for(int h=0;h<KundLista.size();h++){
if(KundLista.get(h).getNamn().equals(Knamn)){
finns=true;
System.out.print("Hur många procent ska "+Knamn+" betala?");
int procent= sc2.nextInt();
double total=100.0;
double Summa=((timmar*9999)*procent)/total;
System.out.println("Kunden ska betala "+Summa+" kr");
totalprocent=totalprocent+procent;
if(totalprocent<100){
System.out.println("Totalbeloppet är för litet!");
}
else if(totalprocent==100){
uppfyllt=true;
Uppdrag NyUppdrag=new Uppdrag(namn,beskrivning,datum,timmar,Knamn,procent);
UppdragLista.add(NyUppdrag);
}
}
}
}
}
public static void listaUppdrag(){
for(int h=0;h<UppdragLista.size();h++){
System.out.println(UppdragLista.get(h));
}
}
package konsultfirma;
public class Uppdrag {
private String uppdragsNamn;
private String uppdragsBeskrivning;
private int uppdragsDatum;
private int uppdragsTimmar;
private String kundensNamn;
private int kundensProcent;
Uppdrag(String namn, String beskrivning, int datum, int timmar, String Knamn, int procent){
uppdragsNamn = namn;
uppdragsBeskrivning = beskrivning;
uppdragsDatum = datum;
uppdragsTimmar = timmar;
kundensNamn=Knamn;
kundensProcent=procent;
}
public String toString(){
return "Namn: "+uppdragsNamn+", Beskrivning: " + uppdragsBeskrivning + ", datum: " + uppdragsDatum +", antal timmar: " + uppdragsTimmar+", kundens namn: "+kundensNamn+", kundens procent: "+kundensProcent;
}
public String getuppdragsNamn(){
return uppdragsNamn;
}
}
答案 0 :(得分:0)
你应该使用ArrayList。
ArrayList<Uppdrag> userList = new ArrayList();
//Then start adding new elements.
userList.add(new Uppdrag(namn,beskrivning,datum,timmar,Knamn,procent));
//To return all the elements you need to run a loop:
for(int i =0;i<userList.size();i++){
System.out.println("Namn: "+userList.get(i).uppdragsNamn+", Beskrivning: "
+ userList.get(i).uppdragsBeskrivning + ", datum: " + userList.get(i).uppdragsDatum +",
antal timmar: " + userList.get(i).uppdragsTimmar+", kundens namn:
"+userList.get(i).kundensNamn+", kundens procent: "+userList.get(i).kundensProcent);
}