Eine Methode, die ich verwende, erfordert Schleifen, und ich habe es geschafft, mich in eine Ecke arbeiten, die Schleifen durch neue Methoden zu teilen versuchen. Ich habe einen Teil meines Codes unten eingefügt. Ich erhalte zur Zeit die Fehlermeldung "Missing return statement" und obwohl ich weiß, warum das passiert, bin ich mir nicht sicher, wie ich weitermachen soll. Jede Hilfe oder Vorschläge würden geschätzt werden! Vielen Dank.Fehlende Return-Anweisungen, Schleifen
public String addJob(String cust,boolean onSite, boolean sHand, String lang)
{ int nt = 100;
if (customers.containsKey(cust))
{
if (0 >= getCustomerCredit(cust)) {
return " Customer over credit limit "; }
if (nt >= getCustomerCredit(cust))
{
Job jb = new Job(cust, onSite, sHand, lang);
job.put(jb, getNewJobNo());
if(lang != "English")
{
isStaffAvailableWork(trnsltr);}
if(sHand == false)
{ isStaffAvailableWork(clk);
}
else { isStaffAvailableWork(typst);
}
}
}
else {
Customer c = new Customer(cust);
customers.put(cust, ntnt);
Job jb = new Job(cust, onSite, sHand, lang);
job.put(jb, getNewJobNo());
if(lang != "English")
{
isStaffAvailableWork(trnsltr);}
if(sHand == false)
{ isStaffAvailableWork(clk);
}
else { isStaffAvailableWork(typst);
}
}
}
public String isStaffAvailableWork(Staff stf)
{
if (staff.containsKey(stf)&&(stf.isStaffAvailable()==true))
{
jb.setJobStatusOnGoing();
stf.setStaffBusy();
jobNoAndstaffId.put(staff.get(stf), job.get(jb));
return "Staff allocated: " + stf;
}
if (staff.containsKey(stf)&&(stf.isStaffAvailable()==false))
{
jb.setJobStatusWaiting();
return "Job Waiting";
}
else return null;
}
Sie benötigen explizite Rückgabe (n). 'return isStaffAvailableWork'. Das ist auch nicht so, wie Sie "String" (s) vergleichen. –
Ich bin verwirrt durch den Verweis auf Schleifen. – massfords
Um Ihnen zu helfen, zu verstehen, was Elliott gesagt hat ... Verwenden Sie '! Lang.equals (" English ")' stattdessen. – byxor