JavaSEクラシックプログラミングの質問

                                          JavaSEクラシックプログラミングの質問

                                                                                                                              著者:天臨時

すべての権利は留保されています。原作者、偽造および侵害に対する法的責任を明記してください

【手順1】TestRabbit.java
タイトル:古典問題:ウサギが2匹いる生後3ヶ月目から毎月1匹ずつウサギが生まれ、3ヶ月目以降は毎月ウサギが成長します。ウサギが死んでいない場合、毎月のウサギの総数はいくつですか? 

プログラム分析:ウサギの法則は、シーケンス1,1,2,3,5,8,13,21 ...です。

 

【手順2】FindPrimeNumber.java

トピック:101〜200の素数の数を決定し、すべての素数を出力します。 

プログラム分析:素数を判断する方法:2からsqrt(この数)を数で除算できる場合は、 

これは、この数が素数ではないことを意味します。それ以外の場合は、素数です。

 

[手順3] FindDaffodilNumber.javaの
タイトル:すべての「水仙の数」を出力します。いわゆる「水仙の数」は3桁の数字を指し、その数字の3乗和は数字自体と同じです。たとえば、153は「水仙の数」です。153= 1立方体+ 5立方体+ 3立方体だからです。 

プログラム分析:forループを使用して100〜999の数値を制御します。各数値は単数、数十、数百に分解されます。

 

[プログラム4] FenJie.java

トピック:正の整数を因数分解します。例:90と入力し、90 = 2 * 3 * 3 * 5と出力します。 

プログラム分析:nの素因数を分解するには、最初に最小素数kを見つけてから、次の手順を実行する必要があります。 

(1)この素数がnと完全に等しい場合、素因数を分解するプロセスが終了したことを意味し、単に出力します。 

(2)n <> kであるが、nがkで割り切れる場合、kの値を出力し、nの商をkで除算する必要があります。新しい正の整数nとして、最初のステップを繰り返します。 

(3)nがkで割り切れない場合、kの値としてk + 1を使用し、最初のステップを繰り返します。

 

【手順5】ConditionOperator.java

トピック:条件演算子の入れ子を使用してこの質問を完了します:アカデミックスコアのある学生> = 90ポイントはAで表され、60〜89ポイントはBで表され、60ポイント未満はCで表されます。 

プログラム分析:(a> b)?A:bこれは条件付き演算子の基本的な例です。

 

[手順6] Test1.java GcdTest.java後者は切り離されます

タイトル:2つの正の整数mとnを入力し、それらの最大公約数と最小公倍数を見つけます。 

プログラムの分析:除去方法の使用。

 

【手順7】StChar.java

タイトル:文字の行を入力し、英語の文字、スペース、数字、およびその他の文字の数を数えます。 

プログラム分析:whileステートメントを使用した場合の条件は、入力文字が「\ n」でないことです。

 

【手順8】TestAdd.java

タイトル:s = a + aa + aaa + aaaa + aa ... aの値を検索します。aは数値です。たとえば、2 + 22 + 222 + 2222 + 22222(現時点では合計5つの数字が追加されています)で、キーボードコントロールでいくつかの数字が追加されています。 

プログラム分析:各アイテムの値を計算することが重要です。

 

[プログラム9] WanShu.java

トピック:数値がその係数の合計と完全に等しい場合、その数値は「最終数」と呼ばれます。たとえば、6 = 1 + 2 + 3です。1000内のすべてのカウントを見つけるようにプログラムします。

 

[プログラム10] TestBall.java

タイトル:ボールは高さ100メートルから自由に落下します。各着陸後、ボールは元の高さの半分にジャンプします。再び落下した後、10回目の着地時に何メートルを通過しましたか?10回目のリバウンドの高さは?

 

[プログラム11] TestTN.java

質問:1、2、3、4の数字がありますが、3桁の数字は、繰り返しのない異なる数字でいくつ構成できますか?彼らはいくらですか? 

プログラム分析:100、10、1に入力できる数値は、1、2、3、および4です。すべての配置を形成した後、条件を満たさない配置を削除します。

 

[プログラム12] MoneyAward.javaの
タイトル:企業が発行するボーナスは、利益に基づいています。利益(I)が10万元以下の場合、ボーナスは10%増加できます;利益が10万元を超え、20万元未満の場合、10万元未満の部分は10%で控除され、10万元を超えますココアの部分は7.5%です; 200,000から400,000の間で200,000を超える部分は5%控除できます; 400,000、600,000の間で400,000を超える部分は3%控除できます; 60万から100万の間で、60万元を超える部分は1.5%控除できます; 100万元を超える場合、100万元を超える部分は1%控除され、キーボードから月の利益Iを入力します発行されたボーナスの総数は? 

プログラム分析:分割と配置には数値軸を使用してください。ボーナス成長タイプを定義する必要性に注意してください。

 

[プログラム13] FindNumber.java

質問:100を追加した後の完全な平方である整数、および168を追加した場合の完全な平方である整数とは何ですか? 

プログラム分析:100,000以内で判断し、処方前の数値に100を加え、処方前の数値に268を加え、処方後の結果が以下の条件を満たす場合はその結果です。

[プログラム14] TestDay.java

タイトル:年間通算日、月、月を入力し、この日が年間通算日かどうかを判断しますか? 

プログラム分析:3月5日を例にとると、最初の2か月を合計してから、その年の最初の数日である5日を追加する必要があります。特別な状況で、うるう年を入力し、月が3より大きい場合は、1日を追加することを検討する必要があります。 。

 

[プログラム15] TestCompare.java
タイトル:3つの整数x、y、zを入力し、3つの数値を小さいものから大きいものに出力してください。 

プログラム分析:xに最小数を置く方法を考え、x> yの場合は最初にxとyを比較し、次にxとyの値を交換してから、x> zの場合はxとzを使用して比較します次に、xとzの値を交換して、xを最小化できるようにします。 

 

[プログラム16] Nine.java

タイトル:出力9 * 9式。 

プログラム分析:分岐と列の考慮、合計9行と9列、iコントロール行、jコントロール列。

 

[プログラム17] MonkeyEatPeach.java

トピック:猿が桃を食べる問題:サルは初日にいくつかの桃を摘み取り、すぐに中毒せずに半分を食べて、もう1つ食べました。翌朝、彼は残りの桃を半分食べて、もう1つ食べました。 。その後、毎朝残りの半分と前日を食べました。10日目の朝にまた食べたいと思ったら、モモが一匹だけ残っていました。初日に選ばれた数を尋ねます。 

プログラム分析:逆思考の方法を取り、後ろから前に推論します。

 

【手順18】Prog.java
タイトル:2人の卓球チームがそれぞれ3人で試合をします。チームAはa、b、cで構成され、チームBはx、y、zで構成されます。ゲームリストで抽選が決まりました。誰かが試合のリストをプレイヤーに求めました。aはxと比較しなかった、cはx、zと比較しなかったと述べた。3つのチームのリストを見つけるようにプログラムしてください。

プログラム分析:素数を判断する方法:2からsqrt(この数)を数値で除算します。それが除算できる場合、この数は素数ではないことを意味し、それ以外の場合は素数です。

 

[プログラム19] LingXing.java 
トピック:次のパターンを印刷します(ひし形) 
    *
  ***
 ******
********
 ******
   ***
     *
1.プログラム分析:最初グラフは2つの部分に分かれています。最初の4行には1つのルールがあり、最後の3行には1つのルールがあります。doubleforループを使用すると、最初のレイヤーが行を制御し、2番目のレイヤーが列を制御します。

 

[プログラム20] TestAdd2.java

タイトル:スコアのシーケンスがあります:2 / 1、3 / 2、5 / 3、8 / 5、13 / 8、21 / 13 ...このシーケンスの最初の20アイテムの合計を見つけます。 

プログラム分析:分子と分母の変化する法則を理解してください。

 

[プログラム21] TestJieCheng.java

タイトル:1 + 2!+3!+ ... + 20!の合計 

プログラム分析:このプログラムは、累積を累積に変換するだけです。

 

【プログラム22】 

タイトル:再帰的方法を使用して5を見つけてください!TestJieCheng.java

プログラム分析:再帰式:fn = fn_1 * 4!

 

[プログラム23] TestAge.java

タイトル:一緒に座っている5人がいて、5人目は何歳ですか?彼は4人目より2歳年上だったと彼は言った。4人目の年齢を尋ねると、彼は3人目より2歳年上だったと言った。3人目に聞いて、2人目より2歳年上だと言います。2人目に聞いて、1人目より2歳年上だと言います。最後に最初の人に尋ねたところ、彼は10歳であると述べました。5人目は何歳ですか? 

プログラム分析:再帰的な方法を使用して、再帰は2つの段階に分けられます:再帰と再帰です。5人目の年齢を知るには、4人目の年齢を知る必要があります。次に、1人目(10歳)が続き、次にプッシュバックされます。

 

[プログラム24] TestNumber.java

タイトル:5桁以下の正の整数を指定します。要件:1.数桁を見つけます。2。数字を逆の順序で印刷します。

 

[プログラム25] HuiWenShu.java

質問:5桁の数字です。回文かどうかを確認してください。つまり、12321は回文の数、1桁は数万と同じ、10桁は数千と同じです。

 

[プログラム26] Ex26.java

タイトル:曜日の最初の文字を入力して曜日を決定してください。最初の文字が同じである場合は、続けて2番目の文字を決定してください。 

プログラム分析:ケースステートメントを使用することをお勧めします。最初の文字が同じ場合は、ケースステートメントまたはifステートメントを使用して2番目の文字を判断します。 

【プログラム27】SuShu.java

トピック:100以内の素数を見つける

 

[プログラム28] TestSort.java

タイトル:数字を10個並べ替え 

プログラム分析:選択方法を使用できます。つまり、最後の9つの比較から、最小のものを選択して最初の要素と交換し、次に2番目の要素を最後の8つと比較して交換します。 

 

[プログラム29] TestAdd3.java

トピック:3 * 3行列の対角要素の合計を求める 

プログラム分析:double forループを使用して入力の2次元配列を制御し、[i] [i]を累積して出力する 

 

[プログラム30] ArraySort.java

トピック:ソートされた配列があります。次に、数値を入力し、元のように配列に挿入するように要求します。 

 プログラム分析:最初にこの数値が最後の数値より大きいかどうかを判断し、次に中央の数値を挿入する状況を検討します。挿入後、この要素の後の数値を1つずつ順番に移動します。 

 

[プログラム31] ArrayConverse.java

タイトル:配列を逆の順序で出力します。 

プログラム分析:最初のものを最後のものと交換します。 

 

[プログラム32] Ex32.java

タイトル:右端から4〜7桁の整数をとります。 

プログラム分析:次のように考えてください。 

(1)最初にaを4ビット右にシフトします。 

(2)下位4ビットがすべて1で残りがすべて0となる数を設定します。利用可能〜(〜0 << 4)

(3)上記2つの&演算を行います。 

【程序33】YangHui.java

タイトル:Yang Huiトライアングルを印刷します(以下に示すように10行を印刷する必要があります) 

プログラム分析: 

 

 

1
    1 1
   1 2 1
  1 3 3 1
 1 4 6 4 1
 

[手順34]以前にもう少し複雑なことが行われている

タイトル:サイズの順に、a、b、cの3つの数値を入力して出力します。 

プログラム分析:ポインターメソッドを使用します。 

 

[プログラム35] ArrayChange.java

トピック:入力配列、最初の要素との最大交換、最後の要素との最小交換、および出力配列。 

 

[プログラム36] Array1.java

タイトル:n個の整数があるため、先行する数値はm桁ずつ順次後ろにシフトされ、最後のm個の数値が最初のm個の数値になります。 

 

[プログラム37] Test3Quit.java

タイトル:サークルにn人がいて、順番に並んでいます。最初の人(1から3まで)から数えて、3を報告したすべての人がサークルから撤退し、残っている最後の数字を尋ねました。 

 

[プログラム38] TestLength.java

トピック:関数を記述し、文字列の長さを見つけ、メイン関数に文字列を入力し、その長さを出力します。 

 

[プログラム39] Test2.java

トピック:関数を記述します。入力nが偶数の場合は、関数を呼び出して1/2 + 1/4 + ... + 1 / nを見つけ、入力nが奇数の場合は、関数1/1 + 1/3 +を呼び出します。 。+ 1 / n(ポインター関数を使用)。

 

[プログラム40] Test3.java

トピック:文字列の並べ替え。 

 

[プログラム41] MonkeyPeach.java

タイトル:ビーチには桃がたくさんあり、5匹のサルが分かれます。最初のサルが桃の山を5つの部分に分け、さらに1匹のサルがもう1匹を海に投げ込んで1つ取りました。2匹目のサルは残りの桃を5つの等しい部分に分け、さらに1匹を増やし、さらに1匹を海に投げ込んで1匹にしました。3匹目、4匹目、5匹目の猿がそうしました。はい、ビーチには桃がいくつありますか? 

 

[プログラム42] Test4.java

タイトル:809 * ?? = 800 * ?? + 9 * ?? + 1

このうち、??は2桁を表し、8 * ??の結果は2桁、9 * ??の結果は3桁です。??で表される2桁の数字と、809 * ??の後の結果を見つけます。 

 

[プログラム43] Test5.java

トピック:0-7が形成できる奇数を見つけます。 

 

[プログラム44] TestEven.java

トピック:偶数は常に2つの素数の合計として表すことができます。 

 

[プログラム45] TestPrime9.java

トピック:素数が9の数で割り切れるかどうかの判断 

 

[プログラム46] TestString.java

トピック:2つの文字列連結プロシージャ 

 

[プログラム47] TestPrint.java

タイトル:7つの数値(1から50)の整数値を読み取り、値が読み取られるたびに、プログラムは値の番号*を出力します。 

 

[プログラム48] TestCode.java

タイトル:会社はデータを送信するために公衆電話を使用します。データは送信プロセス中に暗号化される4桁の整数です。暗号化ルールは次のとおりです:各桁に5を追加し、残りの桁を10で除算して桁を置き換えます次に、1位と4位、2位と3位を入れ替えます。 

 

[プログラム49] TestString2.java

トピック:文字列内の部分文字列の出現回数を数える 

 

[プログラム50] TestStu.java

タイトル:5人の学生がいて、各学生は3つのコースの結果を持っています。キーボードから上記のデータ(学生番号、名前、3つのコースの結果を含む)を入力し、平均スコアを計算し、元のデータと計算された平均を組み合わせますスコアはディスクファイル「スタッド」に保存されます。

オリジナルの記事を102件公開 10 獲得 70,000回以上+

おすすめ

転載: blog.csdn.net/qq_30056341/article/details/105528167