問題:
機能があります:
Y = {X X <1
| 2X-1 <= xで<10
\ 3X-11 X> = 10プログラム、入力x、出力yを書きます
コードの実装:
2つの方法があります。
最初:達成するためにピース判決文のifelse記事を使用するための最も簡単な方法:
1つの インポートjava.util.Scanner。 2 3 パブリック クラスデモ{ 4 5 パブリック 静的 ボイドメイン(文字列[]引数){ 6 // TODO自動生成方法スタブ 7 のSystem.out.println( "请输入一个数:" )。 8 スキャナのスキャナ= 新しいスキャナ(System.in)。 9 INT X = scanner.nextInt()。 10 であれば(X <1 ){ 11 のSystem.out.println(X) 12 } そう であれば(1 <= X && X <10 ){ 13 のSystem.out.println(2 * X-1 )。 14 } 他{ 15 のSystem.out.println(3 * X-11 )。 16 } 17 } 18 19 }
この方法は簡単ですが、実際には、この方法は、複数の選択肢の判断に直面した場合は特に、最高の効率ではありません。そして、メンテナンスの後半に頻繁に変更は、常に、変更不要なトラブルを引き起こし、容易ではありません。
なお、第2の方法が提案されています
第二:状態モード(3つの選択条件より小さくない、推奨される方法)の問題を実装します
まず、抽象クラスの状態(ステータス)を書きます: