🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

2回答

2401閲覧

nの階乗の計算結果と、nの素数判定の結果を出力したい( java )

deliveryboy

総合スコア7

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2019/10/31 07:07

前提・実現したいこと

クラスを作成し,その中に二つの関数 factorial, isprimeを,static 修飾子をつけて作成する。その上で,「fact n」「isprime n」を,順にキーボードから受け付け,計算結果を出力する処理を main 関数内に記述して,プログラムを作成したい。

期待する実行結果
入力:fact 5 → 出力:120
入力:fact 10 → 出力:3628800
入力:isprime 4 → 出力:No
入力:isprime 2 → 出力:Yes

発生している問題・エラーメッセージ

添付したソースコード以下の処理の記述がわからない

該当のソースコード

java

1 2```import java.util.Scanner; 3public class Ex06_02 { 4 static long factorial(int n) { 5 long ans = 1; 6 for(int i = 2; i <= n; i++) { 7 ans *= (long)i; 8 } 9 return ans; 10 } 11 static boolean isprime(int n) { 12 if(n >= 2) { 13 for(int a = 2; a * a <= n; a++) { 14 if(n % a == 0) return false; 15 } 16 return true; 17 } 18 return false; 19 } 20 public static void main(String[] args) { 21 Scanner sc = new Scanner(System.in); 22 while(true) { 23 String cmd = sc.next(); 24 25//以下の処理の記述 26### 試したこと 27 28いろいろ調べましたが知りたい情報を見つけることができず、ここで質問しました。 29 30### 補足情報(FW/ツールのバージョンなど) 31 32ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cateye

2019/10/31 07:20 編集

<code>で出てくる```と```の間にソースを貼り付けて下さい。 > 処理の記述がわからない 階乗計算と素数判定ですが何がわからないのでしょうか? また、ソースが切れているようですが?
swordone

2019/10/31 08:11

> 添付したソースコード以下の処理の記述がわからない どこが分からないのか? > いろいろ調べましたが知りたい情報を見つけることができず、ここで質問しました。 何を調べたのか?そして何を知りたいのか?
deliveryboy

2019/11/01 02:29

自己解決致しました。質問の仕方が不十分ですいませんでした。次から気を付けます。
guest

回答2

0

java

1import java.util.Scanner; 2public class Ex06_02 { 3 static long factorial(int n) { 4 long ans = 1; 5 for(int i = 2; i <= n; i++) { 6 ans *= (long)i; 7 } 8 return ans; 9 } 10 static boolean isprime(int n) { 11 if(n >= 2) { 12 for(int a = 2; a * a <= n; a++) { 13 if(n % a == 0) return false; 14 } 15 return true; 16 } 17 return false; 18 } 19 public static void main(String[] args) { 20 Scanner sc = new Scanner(System.in); 21 while(true) { 22 String cmd = sc.next(); 23 if(cmd.equals("quit")) { 24 System.out.println("プログラムを終了しました"); 25 break; 26 } else if(cmd.equals("fact")) { 27 int n = sc.nextInt(); 28 System.out.println(factorial(n)); 29 } else if(cmd.equals("isprime")) { 30 int n = sc.nextInt(); 31 if(isprime(n) == true) { 32 System.out.println("Yes"); 33 } else { 34 System.out.println("No"); 35 } 36 } 37 } 38 } 39}

投稿2019/11/01 02:30

deliveryboy

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

System.out.println(factorial(Integer.parseInt(cmd))); cmd = sc.next(); System.out.println(isprime(Integer.parseInt(cmd)));

(parseしなくてもnextIntで良くないですか?)

追記
後者はYes/Noで出力でした。isprimeの戻り値をifで判定すればいいです。

投稿2019/10/31 07:17

編集2019/10/31 07:26
tetutetu

総合スコア419

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

deliveryboy

2019/11/01 02:27

自己解決致しました。質問の仕方が不十分ながらも回答して下さり、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問