天天看點

【Java邏輯控制】——分支結構丶循環結構經典必刷題

文章目錄

  • ​​1.編寫程式數一下 1到 100 的所有整數中出現多少個數字9​​
  • ​​2.輸出 1000 - 2000 之間所有的閏年​​
  • ​​3.列印 1 - 100 之間所有的素數​​
  • ​​4.給定一個數字,判定一個數字是否是素數​​
  • ​​5.根據輸入的年齡, 來列印出目前年齡的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)​​
  • ​​6.列印 X 圖形​​
  • ​​7.完成猜數字遊戲 ,使用者輸入數字,判斷該數字是大于,小于,還是等于随機生成的數字,等于的時候退出程式。​​
  • ​​8.求出0~999之間的所有“水仙花數”并輸出。(“水仙花數”是指一個三位數,其各位數字的立方和确好等于該數本 身,如;153=1+5+3?,則153是一個“水仙花數“。)​​
  • ​​9.計算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。​​
  • ​​10.求兩個正整數的最大公約數​​
  • ​​11.求一個整數,在記憶體當中存儲時,二進制1的個數​​
  • ​​12.擷取一個數二進制序列中所有的偶數位和奇數位, 分别輸出二進制序列​​
  • ​​13.編寫代碼模拟三次密碼輸入的場景。 最多能輸入三次密碼,密碼正确,提示“登入成功”,密碼錯誤, 可以重新輸 入,最多輸入三次。三次均錯,則提示退出程式​​
  • ​​15.輸出一個整數的每一位,如:123的每一位是1 , 2 , 3,采用遞歸方法!​​
  • ​​16.輸入乘法口訣表​​
  • ​​17.有一組資料,隻有一個數字是出現一次,其他是兩次,請找出這個數字。​​
  • ​​18.求斐波那契數列的第n項。(疊代實作)​​

【Java邏輯控制】——分支結構丶循環結構經典必刷題

【Java邏輯控制】——分支結構丶循環結構經典必刷題

#目錄

1.編寫程式數一下 1到 100 的所有整數中出現多少個數字9

這道題做題的關鍵在于 如何找到 判斷條件

1.找到個位是9的數:比如 19,29,讓這個數 去%10 他們的餘數都是 9

2.知道十位是9的數:比如 91, 93,讓這個數去/10 他們的結果都等于 9

【Java邏輯控制】——分支結構丶循環結構經典必刷題
2.輸出 1000 - 2000 之間所有的閏年

這道題做題的關鍵:我們首先要知道閏年分為 普通閏年 和 世紀閏年

1.普通閏年:能被 4 整除 并且是 100 的 倍數

2.世紀閏年:能被 100 整除 并且 能夠 被 400整除

【Java邏輯控制】——分支結構丶循環結構經典必刷題
3.列印 1 - 100 之間所有的素數

這道題做題的關鍵;我們需要明白什麼是 素數。

素數:能夠被 1 和 他 自身 整除的 數

注意:1 不是 素數

【Java邏輯控制】——分支結構丶循環結構經典必刷題

4.給定一個數字,判定一個數字是否是素數

這道題和第三道題思路一樣,這裡我們直接上代碼

【Java邏輯控制】——分支結構丶循環結構經典必刷題

這裡還有第二種方法

【Java邏輯控制】——分支結構丶循環結構經典必刷題
5.根據輸入的年齡, 來列印出目前年齡的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
【Java邏輯控制】——分支結構丶循環結構經典必刷題
6.列印 X 圖形

這道題是牛客上面的一道題這裡我給大家上一下牛客連結:

​​​ https://www.nowcoder.com/practice/83d6afe3018e44539c51265165806ee4​​​ 這道題的做題思路是什麼呢,在這裡我給大家畫個圖友善大家了解

圖有點潦草哈,各位老鐵,我相信你們能夠看懂的,抱歉

這裡輸入的 n 為 5,對應 4 個 下标,從左邊開始看,第一個 x 所對應的判斷條件是

'if(i ==j) 從右邊開 x 所對應的判斷條件是 if(i+j == n-1)

【Java邏輯控制】——分支結構丶循環結構經典必刷題
【Java邏輯控制】——分支結構丶循環結構經典必刷題
7.完成猜數字遊戲 ,使用者輸入數字,判斷該數字是大于,小于,還是等于随機生成的數字,等于的時候退出程式。

知道題直接給大家上代碼了,大家可以複制去跑一跑,也是比較有趣

【Java邏輯控制】——分支結構丶循環結構經典必刷題
8.求出0~999之間的所有“水仙花數”并輸出。(“水仙花數”是指一個三位數,其各位數字的立方和确好等于該數本 身,如;153=1+5+3?,則153是一個“水仙花數“。)

這道題,我給大家一個簡單且粗暴的方法且看代碼

【Java邏輯控制】——分支結構丶循環結構經典必刷題
9.計算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。
【Java邏輯控制】——分支結構丶循環結構經典必刷題
10.求兩個正整數的最大公約數

這裡 注意! 最大公約數 和 最小公倍數給大家上個圖

【Java邏輯控制】——分支結構丶循環結構經典必刷題
【Java邏輯控制】——分支結構丶循環結構經典必刷題
11.求一個整數,在記憶體當中存儲時,二進制1的個數

這裡使用 按位與 方法

這裡給大家複習一個 位運算符

按位與 & : 如果兩個二進制位都是 1, 則結果為 1, 否則結果為 0.

按位或 | : 如果兩個二進制位都是 0, 則結果為 0, 否則結果為 1.

按位異或 ^ : 如果兩個數字的二進制位相同, 則結果為 0, 相異則結果為 1.

【Java邏輯控制】——分支結構丶循環結構經典必刷題
12.擷取一個數二進制序列中所有的偶數位和奇數位, 分别輸出二進制序列

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int n = scanner.nextInt();

System.out.println(“奇數位:”);

for (int i = 31; i>=1 ; i-=2) {

System.out.println(n>>i&1);

}

System.out.println(“偶數位:”);

for (int i = 30; i >=2 ; i-=2) {

System.out.println(n>>i&1);

}

}

【Java邏輯控制】——分支結構丶循環結構經典必刷題

13.編寫代碼模拟三次密碼輸入的場景。 最多能輸入三次密碼,密碼正确,提示“登入成功”,密碼錯誤, 可以重新輸 入,最多輸入三次。三次均錯,則提示退出程式

【Java邏輯控制】——分支結構丶循環結構經典必刷題

public static void main(String[] args) {

String passWord = “1234”;

Scanner scanner = new Scanner(System.in);

System.out.println(“請輸入密碼”);

int relyTime = 3;//有3次機會

for (int i = 0; i < 3; i–) {

String input = scanner.nextLine();

if(input.equals(passWord)){

System.out.println(“輸入正确!”);

break;

}

else {

relyTime–;

System.out.println(“輸入錯誤,請重新輸入,還有” + relyTime + “次機會”);

}

}

if(relyTime == 0) {

System.out.println(“輸入次數用完,退出程式”);

}

}

15.輸出一個整數的每一位,如:123的每一位是1 , 2 , 3,采用遞歸方法!

知道題無非就是 哪一個數來 /10 %10

如果一個數小于了10 直接%10 否者/10

【Java邏輯控制】——分支結構丶循環結構經典必刷題

public static void main(String[] args) {//輸出一個整數的每一位,如:123的每一位是1 , 2 , 3

//用遞歸的方法無非就是/10 % 10

Scanner scanner = new Scanner(System.in);

int n = scanner.nextInt();

print(n);

}

public static void print(int n) {//構造個遞歸方法

if(n < 10) {

System.out.println(n % 10 + " ");

}else {

print(n /10);

System.out.println(n % 10 + " ");

}

}

16.輸入乘法口訣表
17.有一組資料,隻有一個數字是出現一次,其他是兩次,請找出這個數字。
18.求斐波那契數列的第n項。(疊代實作)