質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

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

Q&A

6回答

6780閲覧

三角形の辺の値を3つ入力し、三角形が成立するかしないかを確認できるようにしたい

MasakiSakamoto

総合スコア13

Java

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

1グッド

1クリップ

投稿2016/10/05 01:58

編集2016/10/26 03:50

以下のプログラムでユーザーが0または負の数を入力した場合に"Error:入力する数値xは1≦xでなければならない"と表示されるようにし、その辺の値を再入力するようにしたいのですがどこにそのプログラムを入れれば良いでしょうか?

Java

1import java.util.Scanner; 2public class Assignment 3{ 4 public static void main(String[] args) 5 { 6 System.out.println("Welcome to my first assignment!"); 7 Scanner input = new Scanner (System.in); 8 int SideA; 9 int SideB; 10 int SideC; 11 int result = 1; 12 13 while (result == 1) 14 { 15 do 16 { 17 System.out.println("Enter side A"); 18 SideA = input.nextInt(); 19 System.out.println("Enter side B"); 20 SideB = input.nextInt(); 21 System.out.println("Enter side C"); 22 SideC = input.nextInt(); 23 24 if (SideA <1 || SideB <1 || SideC <1) 25 { 26 System.out.println("Error: numbers must be greater than or equal to 1"); 27 System.out.println("Enter 1 to continue, or 0 to exit!"); 28 result = input.nextInt(); 29 break; 30 } 31 else if (SideA+SideB < SideC || SideA+SideC < SideB || SideB+SideC < SideA) 32 { 33 System.out.println("These numbers do not make a triangle"); 34 System.out.println("Enter 1 to continue, or 0 to exit!"); 35 result = input.nextInt(); 36 break; 37 } 38 else 39 { 40 System.out.println("These numbers make a triangle"); 41 System.out.println("Enter 1 to continue, or 0 to exit!"); 42 result = input.nextInt(); 43 break; 44 } 45 46 }while (SideA <1 || SideB <1 || SideC <1 || SideA+SideB < SideC || SideA+SideC < SideB || SideB+SideC < SideA); 47 } 48 } 49}
  1. When the user enters a number for the side of a triangle, if the number is less than 1, the program must say "Error: numbers must be greater than or equal to 1" and then the program asks the user to enter the number for that side again
DrqYuto👍を押しています

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

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

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

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

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

iwamoto_takaaki

2016/10/05 02:02

必要な要素を分解してみましょう。 一つの要素で1つずつ質問を作ってください。 これに応えると課題を代行したことになり、代行業はこのサイトの趣旨を外れます。
MasakiSakamoto

2016/10/05 02:07

わざわざアドバイスしていただきありがとうございます。 実は今アメリカで勉強をしており、本などの場合は日本語のリソースが全く存在しません。この質問に関連したことが載っているサイト、もしくはお勧めの参考になるオンラインリソースがございましたら、是非ご紹介いただければと思います。もう少し自分で粘ってみてからまた質問を投稿させていただこうと思います。
iwamoto_takaaki

2016/10/05 02:26

英語頑張ってね!応援してます!
MasakiSakamoto

2016/10/05 02:38

ありがとうございます。今後もよろしくお願いします。
MasakiSakamoto

2016/10/05 02:43

そのままにしておいたほうがよかったですか?
kunai

2016/10/05 04:24

まず課題文の英語が読めないのであればそこでの学習は何一つ身につかないのでは。。
MasakiSakamoto

2016/10/05 07:28

英文は読めます。さすがに2年も現地にいるのでこの程度は簡単に解釈できます。
swordone

2016/10/05 08:09

結局のところ、何が分からないんですか?
guest

回答6

0

書き始めのところ以外全くわかりません

丸投げなので、コードは書きませんが、考え方だけ言いますね。
プログラミングの基本として、命令の単位まで問題を分解していきます。

三角形の3辺の値を入力して三角形になるか否か(Error)を表示させる

「三角形の3辺の値を入力」「三角形になるか否か」「表示させる」

これをさらに分解して、「Java」と「入力」「表示」などで調べて、
数独みたいなパズルの要領で、埋められるところを埋めていってください。
(もちろん、規模が大きいプログラムは、もっとちゃんと設計しますが)

投稿2016/10/05 02:34

LLman

総合スコア5592

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

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

0

学校の課題ですよね。
課題は自分でやりましょう。

また、一番参考になるのは授業のテキストだと思いますよ。

投稿2016/10/05 02:12

yona

総合スコア18155

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

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

0

三角関数関係ないですねこれ。高校1年数学の知識です。
「三角形 成立条件」で調べればいいのでは?

###編集を受けて
超めんどくさいことしてますねこれ。そもそも辺の名前をABCと分ける必要ありますか?
配列にしてインデックスでループすればかなりシンプルにコードをまとめられます。
その際、インデックスごとに入力時点で値をチェックし、条件を満たすまでwhileループすれば目的を果たせます。

そして、三角形の成立条件でもっとシンプルに判定できるものがありませんでしたか?
ある前提条件を満たせば、判定は1度で済みます。

投稿2016/10/05 02:03

編集2016/10/26 15:03
swordone

総合スコア20651

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

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

0

3辺が与えられた時に、三角形になるかどうかを答えるだけだと思います。
1.コンソールからの数値の読み込み。(3回)
2.入力された数値を3辺の長さとして、3角形が組み立てられるかどうかの判断。
3.3角形になれば"These numbers make a triangle" 、ならなければ"These numbers do not make a triangle" と表示する。

投稿2016/10/05 13:44

編集2016/10/05 13:47
cateye

総合スコア6851

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

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

cateye

2016/10/05 14:01

蛇足ですが、最も長い辺よりも、他の2辺の加算結果が長いとき3角形になります。・・・同じ長さの時はどうゆう扱いでしょうか?・・・直線? 委縮した3角形?
swordone

2016/10/05 14:07

いずれにせよ三角形になりませんよね
MasakiSakamoto

2016/10/05 20:28

僕の質問の仕方が悪いとうのが大前提にあると思うので、わからないことが明確になり次第再度質問に修正を加えようと思います。
guest

0

これでバッチリです!

java

1System.out.println("三角関数に関するプログラム");

投稿2016/10/05 03:24

NOTEPAD

総合スコア80

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

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

0

エラー時にやり直したい箇所をDoWhileで囲めばいいだけかと思います。
仕様すら書いていないので思い通りの動きをするかどうかはわかりませんが。

投稿2016/10/26 04:25

torisan

総合スコア678

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問