私は最近、私たちが現在学んでいる主な言語がJavaであるコースを開始しました。Javaでメソッドを改善する
私は、人々が2人の候補者に投票することを許可するプログラムを作成することを任されています。プログラムは投票をカウントし、表示されるものによって男投票がどのように行われたかによって異なります。ここで
は、私は現時点ではと心配です一部です:
public String printResults(){
if(candidate1Votes == 0 && candidate2Votes == 0)
{
System.out.println ("No votes cast, results cannot be displayed.");
return "No votes cast, results cannot be displayed.";
}
else if(this.completed == false)
{
System.out.println ("Voting has not finished");
return "Voting has not finished";
}
else if(this.completed == true)
{
System.out.println ("Voting has finished, no more votes will be allowed.");
return "Voting has finished, no more votes will be allowed";
}
{
double totalVotes = this.candidate1Votes + this.candidate2Votes;
double cand1Share = (double) this.candidate1Votes/totalVotes*100;
double cand2Share = (double) this.candidate2Votes/totalVotes*100;
System.out.format(candidate1 + " received %3.1f percent of the votes\n", cand1Share);
System.out.format(candidate2 + " received %3.1f percent of the votes\n", cand2Share);
return "v";
}
}
は、もともと私は、この方法では、ボイドを使用しますが、私たちのタスクの一部は、文字列値に変更しました。これは私が苦労しているところです - 私が本当に完了したら、それでも私は票を投げることができます。私はこのコードが不完全であることを知っていますが、私は何をすべきか分かりませんので、私はそれを終了できません!これらは質問の次の部分でした。
- 最初の2つのルールを適用するようにprintResultsメソッドを変更します。完了フィールドの値は、投票が完了したかどうかを示します。このメソッドは、印刷が成功したかどうかを示すStringを返すように変更する必要があります。
- 投票方法を変更して、3番目のルールを適用します。 各テストを実行して実際に得られる結果と比較する前に、インスタンスを作成して次の手順を実行してメソッドをテストしてください。 •すぐに結果を印刷してみてください •候補と結果を印刷しようと • •結果 を印刷候補者に投票するようにしてください• をsetCompleted呼び出すことにより、真の完成フィールドを設定し
私は(これは私の最初の年である)、これに新しいですし、持っていますこれまでのところ私の本で大丈夫なことをしてくれましたが、この次の問題の助けがあれば大歓迎です!
:
代わりのすべての文字列を2回書いて、あなたはまた、次の何ができる何かを変更したい場合には、それを2回編集すること)** **の代わりに**(this.completed == true)**多くの人々のために改善されます –
あなたに行くための最初の答えを入れてください。あなたの質問をさらにコメント/更新したいと思うかもしれません。あなたが今どこにいるのか本当にわからないので! – GhostCat
はあなたの先生を心から尊敬しますが、エラー処理のために_return values_の使用を教えるのをやめてください(Javaの場合)。それはより良い概念を持っています。 –