😃😃😃
package cn.cxy.exec;
import java.util.Scanner;
public class GetMaxNumber {
public static void main(String[] args) {
//1.提示並接收使用者輸入的三個整數,並交由變數a b c來儲存
System.out.println("請輸入第一個整數:");
int a = new Scanner(System.in).nextInt();
System.out.println("請輸入第二個整數:");
int b = new Scanner(System.in).nextInt();
System.out.println("請輸入第三個整數:");
int c = new Scanner(System.in).nextInt();
//2.對接收到的三個值進行比較
/**三元運運算元 1 ? 2 : 3
* 如果1號位置的表示式結果為true,結果就取2號位置的值,反之,就取3號位置的值*/
//2.1定義變數max來儲存a和b中的最大值
int max = a>b ? a : b;
//2.2比較max與c誰最大,並將最大值交由max來儲存
max = max>c ? max : c;
/**解決方案二:*/
//int max = a>b?(a>c?a:c):(b>c?b:c);
//3.輸出結果
System.out.println("三個數的最大值是:"+max);
}
}
接收使用者輸入的身高和體重,將判斷結果輸出
過輕:低於18.5
正常:18.5 ~ 22.9
偏胖:23 ~ 24.9
肥胖:25 ~ 29.9
重度肥胖:高於30
極度肥胖:高於40
package cn.cxy.exec;
import java.util.Scanner;
public class TestBMI {
public static void main(String[] args) {
//1.提示並接收使用者輸入的身高與體重資訊
System.out.print("請輸入您的身高(單位為m):");
double height = new Scanner(System.in).nextDouble();
System.out.print("請輸入您的體重(單位為kg):");
double weight = new Scanner(System.in).nextDouble();
//2.呼叫getBMI()方法,根據身高和體重資訊,輸出結果
getBMI(height, weight);
}
public static void getBMI(double h, double w) {
//求出BMI指數
double bmi = w / (h * h);
//定義一個變數r來儲存最終結果
String r = "";
//根據 bmi 指數範圍,來給r重新賦值
if (bmi < 18.5) {
r = "過輕";
} else if (bmi <= 22.9) {
r = "正常";
} else if (bmi <= 24.9) {
r = "偏胖";
} else if (bmi <= 29.9) {
r = "肥胖";
} else if (bmi <= 40) {
r = "重度肥胖";
} else {
r = "極度肥胖";
}
//列印最終結果
System.out.println("您的BMI指數:" + bmi);
System.out.println("您的體重屬於:" + r);
}
}
如果尾數為8,需支付辦卡費50元
如果尾數為4,需支付辦卡費用0元
如果是其他尾號,需支付辦卡費用20員
package cn.cxy.exec;
import java.util.Scanner;
public class PayCard {
public static void main(String[] args) {
//1.提示並接收使用者輸入的手機號
System.out.println("請輸入您預選的手機號:");
String tel = new Scanner(System.in).nextLine();//注意String型別資料一般用nextLine()
//2.呼叫getPrice()方法,來計算價格,注意需要把手機號tel作為引數傳入方法中
getPrice(tel);
}
//3.建立getPrice()
public static void getPrice(String tel) {
//3.1 手機號tel的長度,必須是11位的正確手機號--提前校驗,提高程式健壯性
if(tel.length() != 11) {
System.out.println("號碼格式錯誤");
return;//結束方法,返回到呼叫位置再繼續執行
}
/*比如我們拿到的手機號是tel="2313123123",想要拿到尾數,也就是最後一個字元
* 需要用到 char c = tel.charAt(10)
* 注意:由於下標也是從0開始,所以取第11個字元,它的下標位置是10
*/
//3.2獲取手機號的尾數
char c = tel.charAt(10);
//3.2定義用來儲存最終結果的變數price,初始值為0
int price = 0;
//3.3根據c字元的值,來為price重新賦值
switch(c) {
case '8': price=50; break;//尾數為8支付50
case '4': price=0; break;//尾數為4免費
default: price=20;//其他情況需支付20
}
//3.4顯示結果
System.out.println("您實際應支付的價格為:"+price);
}
}
package cn.cxy.exec;
public class DeadCycle {
public static void main(String[] args) {
//for迴圈的死迴圈
// for (int i = 1; ; i++){
// System.out.println("歡迎學習泡泡的分享,繼續加油哦~");
// }
//while迴圈的死迴圈
// while(true){
// System.out.println("都到這裡啦?奧利給~");
// }
//do-while迴圈的死迴圈
do{
System.out.println("相信我們可以的~");
}while(true);
}
}
已知:雞兔共35只,共94只腳,那麼雞和兔各幾隻?
package cn.cxy.exec;
//窮舉法
//雞 兔
//0 35
//1 34
//2 33
//3 32
//...
//23 12
//...
//35 0
public class SameCage {
public static void main(String[] args) {
//迴圈變數j,控制小雞的個數: 0到35遞增
//迴圈變數t,控制兔子的個數: 35到0遞減
for(int j=0,t=35; j<=35; j++,t--) {//如果有多個小條件,用逗號隔開
//保證腳的數量是94
if(j*2 + t*4 == 94) {
System.out.println("雞:"+j+", 兔:"+t);
}
}
}
}
需求:接收使用者輸入的數位,計算該數位的階乘結果
已知:負數不可以有階乘,0的階乘結果是1, 5!=54321
package cn.cxy.exec;
import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
System.out.print("輸入整數,求階乘:");
int n = new Scanner(System.in).nextInt();
//呼叫f()方法,把n的值傳遞到f()方法,求階乘
f(n);
}
public static void f(int n) {
if(n<0) {
System.out.println("負數不可以求階乘");
return;//方法結束,返回到呼叫位置繼續執行
}
if(n == 0) {
System.out.println("0的階乘是1");
return;
}
/*
* r = 5
* i
* 4, r=r*i
* 3, r=r*i
* 2, r=r*i
* 1, r=r*i
*/
long r = n;
for(int i=n-1; i>=1; i--) {
r *= i;
}
System.out.println(n+"的階乘:"+r);
}
}
/**其實我們還可以通過遞迴思想解決這個問題,感興趣的可以研究一下~*/
package cn.cxy.exec;
public class ForBreak {
public static void main(String[] args) {
// Math.random()可以產生[0,1)的隨機浮點數
// >0.999
//寫一個死迴圈, i變數用來計次
for(int i=1; ;i++) {
double d = Math.random();
if(d>0.999) {
System.out.println("第"+i+"次產生了目標值,值為:"+d);
break;
}
}
}
}
package cn.cxy.exec;
public class ForContinue {
public static void main(String[] args) {
for(int i=1;i<=100;i++) {
int y = i%10;//100以內的數,通過取餘求出尾數
if(y==3 || y==5 || y==7) {
continue;//如果尾數為3 5 7 ,則跳過後面的列印,進行下一輪迴圈
}
System.out.println(i);
}
}
}
質數的概念:一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數,也稱為素數
規定:1既不是質數,也不是合數
package cn.cxy.exec;
import java.util.Scanner;
public class PrimeNumber {
public static void main(String[] args) {
System.out.print("請輸入要判斷的自然數:");
int n = new Scanner(System.in).nextInt();
//呼叫getPrimeNumber()方法,判斷n是否為質數
getPrimeNumber(n);
}
public static void getPrimeNumber(int n) {
if(n<2) {//此範圍內的數均不為質數
System.out.println(n+"不是質數");
return;//結束程式
}
if(n == 2) {
System.out.println("2是質數");
return;
}
//在 2到 1+n開方範圍(數學理論),找能把n整除的值(這個值也稱作因子)
//如果找到可以把n整除的第三個數,那n就不是質數,反之,n為質數
double max = 1+ Math.sqrt(n);//max儲存的是查詢因子的範圍
//依次遍歷範圍內的所有數,驗證是否存在n的因子
for(int i=2; i<max; i++) {
//判斷n能不能被i整除,如果有,說明不是質數
if(n%i == 0) {
System.out.println(n+"不是質數");
return;
}
}
//如果判斷了範圍內的所有值,沒有能整除的,則說明n是質數
System.out.println(n+"是質數");
}
}
package cn.cxy.exec;
import java.util.Scanner;
public class CountPrimeNumber {
public static void main(String[] args) {
System.out.println("輸入整數n,求n內質數的數量");
int n = new Scanner(System.in).nextInt();
count(n);
}
public static void count(int n) {
if(n<2) {
System.out.println("沒有質數");
return;
}
if(n==2) {
System.out.println("有1個質數");
return;
}
//定義計數變數
int count = 1;//已知有一個質數
outer: //從3到n尋找質數
for(int i=3; i<=n ;i++) {
//判斷i是否是質數
double max = 1+ Math.sqrt(i);
for(int j=2; j<max; j++) {//在2到<max,找能把i整除的數
if(i%j == 0) {//i被j整除,i不是質數
//跳到i++,繼續判斷下一個i值
continue outer;//跳到外部outer的位置
}
}
//內層j迴圈結束,i是質數
count++;
}
System.out.println(n+"內質數的數量:"+count);
}
}
package cn.cxy.exec;
import java.util.Arrays;
import java.util.Random;
public class ShuffleArray {
public static void main(String[] args) {
//呼叫f()方法,從方法獲取一個int[]陣列
int[] a = f();
//遍歷列印陣列資料
for(int i=0; i<a.length; i++) {
System.out.println(a[i]);
}
System.out.println("\n\n----------------");
//把a陣列,傳遞到 shuffle() 方法打亂順序
shuffle(a);
//列印亂序後的陣列
System.out.println(Arrays.toString(a));
}
public static int[] f() {
//新建int[]陣列,長度5
//再把它的記憶體地址存到變數 a
int[] a = new int[5];
//遍歷存取5個位置,填入1,2,3,4,5
for(int i=0; i<a.length; i++) {
a[i] = i+1;
}
//返回陣列,把陣列返回到呼叫位置
//本質是把陣列地址返回去
return a;
}
public static void shuffle(int[] a) {
/*
* j
* [4, 2, 3, 1, 5]
* i
*
* *) i迴圈遍歷陣列
* *) 隨機定位下標j與i交換
*/
for (int i = 0; i < a.length; i++) {
//隨機下標j,範圍:[0, a.length)
int j = new Random().nextInt(a.length);
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}