一つ前の質問で、for文を使って1~100までの数字を表示できるようになったのですが、タイトルのとおり、さらに条件を加えるにはどうしたら良いでしょうか、教えてください。

A 回答 (1件)

おはようございます。


i%2の結果をご存知のようですので、
これを使えばよいかと思います。

i%2は2で割ったあまりを出力しますので、
0になれば2の倍数であるといえます。

制御文の中で条件分岐をすれば問題ありません。

if文はご存知でしょうか。
(javaでは「==」である点に注意してください。)

// 1から100まで。
for (int i = 1; i <= 100; i++) {
// 偶数であれば出力します。
if (i % 2 == 0) {
System.out.println(i);
}
}

参考URL:http://www.javaroad.jp/java_control2.htm
    • good
    • 0
この回答へのお礼

 たびたび、ありがとうございます。2の倍数表示できました!!おかげで朝からテンション上がりまくりです。

お礼日時:2005/04/18 06:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q0は公約数?

タイトルの通りなのですが、調べた二つのページでそれぞれ説明が
違っていたので質問します。
最小公約数の説明で「公約数の中の0を除いて一番小さな公約数」
と書いてあったので、真偽のほどをよろしくお願いします。
僕としては、約数には0は含みませんし、
例えば2の約数は1、2で、4の約数は1、2、4
この2と4の公約数は1,2のはずなのに、0、1、2となるのには
違和感があるので0は公約数ではないと思うのですが。

Aベストアンサー

質問者様のご指摘のとおり、0は公約数ではないと、私も思います。
一点、気がかりなことがあります。それは、”最小公約数”です。

二つのページともに”最小公約数”と書いてあったんですネ。

これは私の推測ですが、”公倍数”と”公約数”とが誤記になっているように思います。「公倍数の中の0を除いて一番小さな公倍数」としますと、最小”公倍数”の説明にぴったりあてはまりますよね・・・。

最小公約数を説明するならば、説明するまでもなく1ですよね^^;

参考URL:http://www.tt.rim.or.jp/~rudyard/torii018.html

Qjs for文 条件式

javascript

function generateCalendarPulldown(){
//var nowDate = new Date(today);
var year = Number(todayArr[0]);
var mon = Number(todayArr[1]);

var $selectYear = $('#dialog_panel .dialog_body ul li select#year');
var $selectMonth = $('#dialog_panel .dialog_body ul li select#month');

$selectYear.empty();
$selectYear.empty();

for(var y = year; y < year + 2; y++){
$selectYear.append(new Option(y, y));
}
for(var m = 1; m < 13; m++){
$selectMonth.append(new Option(m, m));
}
$selectYear.val(year);
$selectMonth.val(mon);
generateDay();
}

javascriptのコードなのですが12行目のfor文の初期化式なのですが
for(var y = year; y < year + 2; y++)の条件式の部分の
「 y < year + 2 」、yが yearよりも小さければ処理を続けるという意味だと思うのですが
year + 2の部分の意味が良く理解できていないのですが
日本語で解説するとどのような文章になるでしょうか?
(yが year より小さければ year に2を足すという意味ではないですよね?)

javascript

function generateCalendarPulldown(){
//var nowDate = new Date(today);
var year = Number(todayArr[0]);
var mon = Number(todayArr[1]);

var $selectYear = $('#dialog_panel .dialog_body ul li select#year');
var $selectMonth = $('#dialog_panel .dialog_body ul li select#month');

$selectYear.empty();
$selectYear.empty();

for(var y = year; y < year + 2; y++){
$selectYear.append(new Option(y, y));
}
for(var m = 1; m < 13; m++){
$selectMonth.append(new...続きを読む

Aベストアンサー

for文の書式と意味は理解されていますね?
「 y < year + 2 」はforループの終了条件です。
yは整数ですから「 y ≦ year + 1 」とも書けます。

で。
このforループは何を処理する繰り返し処理でしょう?
yearは何を格納する変数でしょう?
そこを理解できればyear+1まで処理を繰り返す意味がわかるかと思います。

generateCalendarPulldown()は何をするものなのか(=機能)とその入出力を理解すれば、「それを行うにはこういう処理をすればよい」(=アルゴリズム)を自身で考える事が出来ます。
人が書いたプログラムを読む際は、その自分の考えとプログラムを書いた人の考えの差を埋める作業を行えばよいことになります。
その辺、つまりアルゴリズムをきちんと考える事が出来ないので「この処置は何でこうなんだろう?」とか「この処理は何をしているんだろう?」に陥りやすいのだと思います。

Javascriptに関していろいろ質問されているようですが根っこはそこにあるように感じます。
あとは基本文法の理解ですね。
練習問題を解いていたり、実際のソースコードを解析してJavascriptを勉強しようとされているのでしたら、少し背伸びをし過ぎかなぁという印象を受けます。もう少し基本的なところをしっかり勉強してから掛かった方がよいように思います。

参考まで。

for文の書式と意味は理解されていますね?
「 y < year + 2 」はforループの終了条件です。
yは整数ですから「 y ≦ year + 1 」とも書けます。

で。
このforループは何を処理する繰り返し処理でしょう?
yearは何を格納する変数でしょう?
そこを理解できればyear+1まで処理を繰り返す意味がわかるかと思います。

generateCalendarPulldown()は何をするものなのか(=機能)とその入出力を理解すれば、「それを行うにはこういう処理をすればよい」(=アルゴリズム)を自身で考える事が出来ます。
人が書いたプ...続きを読む

Q高校数学II 整式の約数・倍数

整式の約数・倍数についての質問です。
X(2乗)-2X+4、X(3乗)+8の最大公約数・最小公倍数を答える問題です。
【X(2乗)-2X+4】 X=解なし
【X(3乗)+8】 (X+2)(X(2乗)-2X+4)
ここまではあっているでしょうか??
この先公約数・公倍数の求め方が分かりません。
X=解なしではない問題の場合は分かるのですが…。
どなたか分かる方いましたらヒントだけでも結構ですので回答お願いします。

Aベストアンサー

数の時はわかりますか?
たとえば 12 と 30 の時
12=2×2×3    また  30=2×3×5
と素因数分解して
最大公約数は 共通する 2×3=6
最小公倍数は 最大公約数と残ったもの(12では2、30では5)
    (2×3)×2×5=60   
整式でも同じです
  X(2乗)-2X+4 はそのまま(解なしとは言いません)
  X(3乗)+8=(X+2)(X(2乗)-2X+4)
ですから
最大公約数は 共通する X(2乗)-2X+4 
最小公倍数は 最大公約数と残ったもので
 (X(2乗)-2X+4)×1×(X+2)
  =(X+2)(X(2乗)-2X+4)
です。

Qwhile文の条件式に数字だけの場合の動作について

下記コードはwhileの条件式に数字だけを入れた場合に
trueかfalseを判断されるかを試したものです。
実行して見ると、10~0しか表示されず、-1以下は中断されました。
数字だけを入れた場合、0以上はtrueになり、
0よりも下はfalseと判断されるのでしょうか。

<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title></title>
</head>
<body>
<script type="text/javascript">
var i = 10;
 while( i-- ) alert(i);
</script>
</body>
</html>

Aベストアンサー

違うと思う。

i--

があるので、評価するときiの値は1。それをデクリメントして表示。
なので、「0より下がFalse」というより、「0がFalse」の方が正しい。


因みに、10~0が表示された?9~0じゃなくて?

Q公約数

180と270の公約数の求め方を教えてください!

Aベストアンサー

180 = 2×2×3×3×5
270 = 2×3×3×3×5

最大公約数= 2×3×3×5 = 90

公約数の定義として、自然数の範囲での定義を採用するなら
(普通はこの定義を用いる。特に小学校、中学校)
公約数={1, 2, 3, 5, 6, 9, 10, 15, 18, 30, 45, 90}

[参考URL] 正の公約数には1も含まれます。
・ttp://ja.wikipedia.org/wiki/公約数
・ttp://w3e.kanazawa-it.ac.jp/math/category/suu-to-siki/suu/henkan-tex.cgi?target=/math/category/suu-to-siki/suu/kouyakusuu.html

公約数の定義として、整数全体の範囲での定義を採用するなら
(高校以上では問題文により、自然数の範囲の定義か整数の範囲の定義のどちらを指しているか判断する必要があります。)
公約数={1, 2, 3, 5, 6, 9, 10, 15, 18, 30, 45, 90,-1,-2,-3,-5,-6,-9,-10,-15,-18, -30, -45, -90}
となります。

[参考URL]
・ttp://ja.wikipedia.org/wiki/約数
・ttp://kotobank.jp/word/公約数
・ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12120832487

参考URL:http://kotobank.jp/word/%E5%85%AC%E7%B4%84%E6%95%B0

180 = 2×2×3×3×5
270 = 2×3×3×3×5

最大公約数= 2×3×3×5 = 90

公約数の定義として、自然数の範囲での定義を採用するなら
(普通はこの定義を用いる。特に小学校、中学校)
公約数={1, 2, 3, 5, 6, 9, 10, 15, 18, 30, 45, 90}

[参考URL] 正の公約数には1も含まれます。
・ttp://ja.wikipedia.org/wiki/公約数
・ttp://w3e.kanazawa-it.ac.jp/math/category/suu-to-siki/suu/henkan-tex.cgi?target=/math/category/suu-to-siki/suu/kouyakusuu.html

公約数の定義として、整数全体の範囲での定義を採用するなら...続きを読む

Qfor文&if文を使った問題について教えてください。

参考書の練習問題を解いていて、応用力がないのか理解できない
ので、分かる方教えていただけませんか?

問題:
キーボードから整数を入力させ、その数が素数であるかどうかを
判断するコードを記述してください。

解答:
import java.io.*;
class SampleP5
{
public static void main(String[] args) throws IOException
{
System.out.println("2以上の整数を入力してください。");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));

String str = br.readLine();
int num = Integer.parseInt(str);

for(int i=2; i<=num; i++){
if(i = = num){
System.out.println(num + "は素数です。");
}
else if(num % i = = 0){
System.out.println(num + "は素数ではありません。");
break;
}
}
}
}

例えば"7"を入力すると「7は素数です」と出力されるようなんですが、
『i = 7』だとして、『 if(i = = num)』の条件って当てはまるん
ですか?for文でiの初期値が2だから、『2 = = 7』で当てはまらない
と思うんですが・・・
考え方が間違っているんですかね?
※ちなみに(= =)のところ、実際はスペース空いてません。
 ここの画面での表示上くっついて1本の線になってしまうので、
 スペースを空けて入力したまでです。

参考書の練習問題を解いていて、応用力がないのか理解できない
ので、分かる方教えていただけませんか?

問題:
キーボードから整数を入力させ、その数が素数であるかどうかを
判断するコードを記述してください。

解答:
import java.io.*;
class SampleP5
{
public static void main(String[] args) throws IOException
{
System.out.println("2以上の整数を入力してください。");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));

S...続きを読む

Aベストアンサー

素数の定義はいろいろあるかと思いますが
「1と自分自身以外の数で割り切れない数」
と習ったことがあるのではないでしょうか?

このプログラムはこの定義そのものです。

1 で 割り切れるのは当たり前なので 2 から自分自身(num)まで
( for(int i=2; i<=num; i++){} )全ての数で割ってみて
あまり(num % i)が 0 ならば素数ではないのでそこで終了。
最後まで行き着いた(i == num)ならばそれは素数だということです。

最初のifは最後の最後まで真になりません。逆に次のifの方が重要で
こちらが真になれば素数でないと断定できるということです。

補足ですが、残念なことにこの回答を書いた方は無駄なことをしています。
まずfor文の終了条件がにi<=numと書かれているので最初のifは冗長です。
また、num / 2 まで繰り返せば十分です。

Q公約数で

解答をみていてちょっと分らない部分があったのでご質問させていただきます。(表記しづらいので、数列Anで第n+1項を A(n+1)と表します)分らないのは、帰納法での証明の一部分です。また【 】の中は前問で証明されていたり条件として成り立っているとします。

【A(n+1) = An+Bn , B(n+1) = An … (1) 
 An,Bnは自然数で互いに素 … (2) 】

(1)、(2)からA(n+1)とB(n+1)は自然数である。
ここでA(n+1)とB(n+1)が互いに素でないとすると、
A(n+1)とB(n+1)は1より大きい公約数rを持つ。
________________________(ここまでは分ります)

(1)より Bn = A(n+1)-An
であるからrはBnの約数でもありrはAnとBn
の1より大きい公約数である。
______________________
この部分が分りません^^;どうしてrはBnの約数でもありrはAnとBnの1より大きい公約数であるのでしょうか?分る方お願いします。

解答をみていてちょっと分らない部分があったのでご質問させていただきます。(表記しづらいので、数列Anで第n+1項を A(n+1)と表します)分らないのは、帰納法での証明の一部分です。また【 】の中は前問で証明されていたり条件として成り立っているとします。

【A(n+1) = An+Bn , B(n+1) = An … (1) 
 An,Bnは自然数で互いに素 … (2) 】

(1)、(2)からA(n+1)とB(n+1)は自然数である。
ここでA(n+1)とB(n+1)が互いに素でないとすると、
A(n+1)とB(n+1)は1より大きい公約数rを持つ。
_______...続きを読む

Aベストアンサー

>A(n+1)とB(n+1)は1より大きい公約数rを持つ。
ここから
A(n)=B(n+1)もrの倍数です。

つまり、A(n+1)もA(n)もrの倍数です。

よって、
>Bn = A(n+1)-An
の右辺はrの倍数からrの倍数を引いたものなので、全体もrの倍数。
つまり、B(n)もrの倍数である事が分かります。

A(n),B(n)はどちらもrの倍数である事が分かりましたから、rはA(n),B(n)の公約数です。rは1より大きいと仮定していたので、

>rはBnの約数でもありrはAnとBnの1より大きい公約数である。

となります。

言葉で説明しましたが、
A(n+1)=r*a(n+1),B(n+1)=r*b(n+1)などとけば、分かりやすいと思います。

Qfor文

質問お願い致します。
これのソースのfor文を一つの文にするにはどのように書いたらよいでしょうか?
お願い致します。

//指定された文字列が"a"と"b"の両方を含む場合はtrue、なければfalseを返す

public class Mondai {
public static void main(String[] args) {
System.out.println("解答 :" + charBothContain("Habllow"));
}

public static boolean charBothContain(String str) {
boolean answer1 = false;
boolean answer2 = false;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c == 'a') {
answer1 = true;
break;
}
}
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c == 'b') {
answer2 = true;
break;
}
}
return answer1 && answer2;

}

}

質問お願い致します。
これのソースのfor文を一つの文にするにはどのように書いたらよいでしょうか?
お願い致します。

//指定された文字列が"a"と"b"の両方を含む場合はtrue、なければfalseを返す

public class Mondai {
public static void main(String[] args) {
System.out.println("解答 :" + charBothContain("Habllow"));
}

public static boolean charBothContain(String str) {
boolean answer1 = false;
boolean answer2 = false;
for (int i = 0; i < str.length(); i++) {
char c ...続きを読む

Aベストアンサー

ループの中で、「両方見つかった?」判定をして、「見つかった」ならtrueで終了。
そうではなくて、ループが終わった→見つからなかった→false
という形式にしました。

ループの中での return が嫌なら、そこはbreakにしといて、
ループの後のreturn false を return answer1 && answer2 とする。

public static boolean charBothContain(String str) {
boolean answer1 = false;
boolean answer2 = false;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c == 'a') {
answer1 = true;
}
if (c == 'b') {
answer2 = true;
}
// 両方とも見つかれば、終了。
if (answer1 && answer2) {
return true;
}
}

// 「両方とも見つかった」に成らずにループを終わったのでfalse。
return false;
}

ループの中で、「両方見つかった?」判定をして、「見つかった」ならtrueで終了。
そうではなくて、ループが終わった→見つからなかった→false
という形式にしました。

ループの中での return が嫌なら、そこはbreakにしといて、
ループの後のreturn false を return answer1 && answer2 とする。

public static boolean charBothContain(String str) {
boolean answer1 = false;
boolean answer2 = false;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c == 'a') {
answ...続きを読む

Q22に対して、1以外に公約数を持たない数

100から200までの自然数で、「22に対して、1以外に公約数を持たない数」
とは、どういうことですか?
日本語の意味が分からないです。あと、解き方も教えてください。
お願いします。

Aベストアンサー

「100~200までの ある数と 22の公約数が 1だけの数は何ですか?」
という意味です。

  たとえば、100の場合、 100 と 22 との公約数は 1と 2なので
 対象外です。

Qjavaのfor文

for文で下の1行目の真ん中の部分na1,na2...と続くものを一つにまとめようと思います。ActionScript2しか知らないので、、javaではどのようになるのでしょうか。ご教授願えませんでしょうか。
//
function go_gsdf_na1(nx,ny) {
map.recenterOrPanToLatLng(new GPoint(nx, ny), 5);
map.recenterOrPanToLatLng(new GPoint(nx, ny), 5);
};
function go_gsdf_na2(nx,ny) {
map.recenterOrPanToLatLng(new GPoint(nx, ny), 5);
map.recenterOrPanToLatLng(new GPoint(nx, ny), 5);
};

Aベストアンサー

No2です。
補足でコードが出てきたので、どういうことをしたいかがなんとなく見えてきた。
そして、自分が激しく勘違いをしていたことにも気づいた。ので、追記です。

突然ですが、質問で書いたコードって、ActionScriptのコードではないですよね?
恐らく「Javaのコード」として書いた部分だと思いますが、合ってますか?

※この2つの質問がYesだとして話を進めます。違ったらごめんなさい。

このコード、「Java」ではなく、「JavaScript」ではないですか?
(最初、質問文のコードを見たとき、あまりに「Javaのコード」っぽくないので、
ActionScriptのコードで、それをこれからJavaに置き換えるものだと勘違いしてました)
たぶん、コードを「.java」という拡張子で保存したり、コンパイルしたりということは
やってないと思います。
HTMLファイルにそのまま書いたり、「.js」というファイルに保存してるような気がします。
※ちなみにJavaとJavaScriptは全然違います。ワードとメモ帳くらい違います。


というわけで、JavaではなくJavaScriptということで話を進めます。
が、私はJavaScriptは素人以下で、あんまり詳しいことは言えないので悪しからず。
JavaScriptなら、ここよりJavaScriptカテの方がいいと思うので、
玄人さんの意見が欲しければ、JavaScriptカテに行って、も一回質問した方が良いかも。

JavaScriptの方は、
function go_gsdf_na(nx,ny) {
map.recenterOrPanToLatLng(new GPoint(nx, ny), 5);
};
こういう関数が1個あれば十分な気がするのですが、どうでしょう。
ActionScript側では、JavaScriptの関数呼び出し部分を
ExternalInterface.call("go_gsdf_na", plongitude, platitude);
というようにしておけば良いと思われます。

どの座標を指定するかはActionScript側で
(plongitude, platitudeという引数で)指定しているので、
JavaScript側は、「go_gsdf_na」という関数が準備されていて、
その関数で「指定された座標に移動する」ことができれば十分なはずです。


最初に気づけば良かった…
GoogleAPI使ったことがあればすぐ気づいたかもしれなかった…

No2です。
補足でコードが出てきたので、どういうことをしたいかがなんとなく見えてきた。
そして、自分が激しく勘違いをしていたことにも気づいた。ので、追記です。

突然ですが、質問で書いたコードって、ActionScriptのコードではないですよね?
恐らく「Javaのコード」として書いた部分だと思いますが、合ってますか?

※この2つの質問がYesだとして話を進めます。違ったらごめんなさい。

このコード、「Java」ではなく、「JavaScript」ではないですか?
(最初、質問文のコードを見たとき、あまり...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報