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

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

詳細はこちら
Java

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

Q&A

2回答

963閲覧

for文の出力結果がうまく表示されません。

user-_.80

総合スコア3

Java

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

0グッド

1クリップ

投稿2021/02/14 12:49

xc,yc,x,y,r1,r2,nの7つが標準入力で入力され以下の条件を満たすときyes,満たさない時にnoを表示するプログラムを下記の様に作成しました.

r1^2<=(x-xc)^2+(y-yc)^2<=r2^2

import java.util.*;

public class Main {
public static void main(String[] args) {
// 自分の得意な言語で
// Let's チャレンジ!!
Scanner sc = new Scanner(System.in);
int xc = sc.nextInt();
int yc= sc.nextInt();
int r1 = sc.nextInt();
int r2 = sc.nextInt();
int n = sc.nextInt();
for(int i=0;i<n;i++){
int x = sc.nextInt();
int y = sc.nextInt();
int n8=(((x-xc)^2+(y-yc)^2)-(r1)^2);
int n9=(((x-xc)^2+(y-yc)^2)-(r2)^2);
if(n8>=0 && n9<=0){
System.out.println("yes");
}else{
System.out.println("no");
}
}

}

}

この結果について(x,y,xc,yc,r1,r2)=(1,1,0,0,1,2)の時にyesと表示されるはずなのですがなぜかnoと表示されてしまいます。エラーメッセージ等も特になく,どこがいけないのか分かりません。ちなみに
(x,y,xc,yc,r1,r2)=(0,0,0,0,1,2),(4,2,0,0,1,2)の時にはしっかりnoと表示されました。

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

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

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

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

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

guest

回答2

0

ビット演算子XOR x^y 1^2==3

Javaのべき乗は、xのy乗

Math.pow(x,y)

Java

1import java.util.*; 2 3public class Sample { 4public static void main(String[] args) { 5 int x,y,xc,yc,r1,r2,n; 6 Scanner sc = new Scanner(System.in); 7 System.out.print("xc:"); 8 xc = sc.nextInt(); 9 System.out.print("yc:"); 10 yc= sc.nextInt(); 11 System.out.print("r1:"); 12 r1 = sc.nextInt(); 13 System.out.print("r2:"); 14 r2 = sc.nextInt(); 15 System.out.print("n:"); 16 n = sc.nextInt(); 17 for(int i=0;i<n;i++){ 18 System.out.print("x:"); 19 x = sc.nextInt(); 20 System.out.print("y:"); 21 y = sc.nextInt(); 22 double n8=(Math.pow((x-xc),2)+Math.pow((y-yc),2))-Math.pow(r1,2); 23 double n9=(Math.pow((x-xc),2)+Math.pow((y-yc),2))-Math.pow(r2,2); 24 if(n8>=0 && n9<=0){ 25 System.out.println("yes"); 26 System.out.println("x,y,xc,yc,r1,r2\n"+x+ "," + y + "," + xc+"," + yc+ "," + r1+","+r2+"\n"); 27 } else { 28 System.out.println("no"); 29 System.out.println("x,y,xc,yc,r1,r2\n"+x+ "," + y + "," + xc+"," + yc+ "," + r1+","+r2+"\n"); 30 } 31 } 32 33} 34} 35

投稿2021/02/14 14:08

phoepsilonix

総合スコア233

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

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

0

// 自分の得意な言語で

// Let's チャレンジ!!

#↑このコメント見覚えあるのですが。

投稿2021/02/14 12:52

HogeAnimalLover

総合スコア4830

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

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

退会済みユーザー

退会済みユーザー

2021/02/15 08:18

paizaはアウトですね・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問