前提・実現したいこと
変数 int num にシステムから入力値が与えられています。
メソッドを作成し、mainにてそのメソッドを呼出し、条件分岐を実装する。
メソッドの呼び出し時の実引数は、入力値である変数 int num を設定する。
入力値
1
18
20
-1
期待値
200以上
100以上200未満
100未満
数値不正
作成するメソッド
0から数値型の引数までの数値の和を戻り値とする。
発生している問題・エラーメッセージ
入力値「-1」の結果が「数値不正」にならない
「実行結果」
100未満
100以上200未満
200以上
100未満
該当のソースコード
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String text = scan.next(); int num = Integer.parseInt(text); int hoge = calculation(num); if(hoge < 0 ){ System.out.println("数値不正"); }else if(hoge >= 200){ System.out.println("200以上"); }else if(hoge >= 100){ System.out.println("100以上200未満"); }else if(hoge < 100){ System.out.println("100未満"); } } static int calculation(int num){ int sum = 0; for(int i = 0; i <= num; i++){ sum += i; } return sum; } }
調べたこと
始めはエラーだらけで、色々調べた結果表示するところまでたどり着けましたが
「数値不正」の結果だけがうまく出力できず、for文の書き方など調べてみましたが求めていることはわかりませんでした。
助言を頂けると幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/17 05:36