package com.itheima_04;
/*
* 需求:獲取數(shù)據(jù)1-5和5-1
*/
public class ForTest {
public static void main(String[] args) {
//原始做法
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
System.out.println(5);
System.out.println("-------------");
//用循環(huán)改進
for(int x=1; x<=5; x++) {
System.out.println(x);
}
System.out.println("-------------");
//1-5的數(shù)據(jù)我們獲取到了,如何獲取5-1呢?
for(int x=5; x>=1; x--){
System.out.println(x);
}
}
}
package com.itheima_04;
/*
* 需求:求出1-5之間數(shù)據(jù)之和
*
* 分析:
* A:定義求和變量,初始化值是0
* B:獲取1-5之間的數(shù)據(jù),用for循環(huán)實現(xiàn)
* C:把每一次獲取到的數(shù)據(jù),累加起來就可以了
* D:輸出求和變量即可
*/
public class ForTest2 {
public static void main(String[] args) {
//定義求和變量,初始化值是0
int sum = 0;
//獲取1-5之間的數(shù)據(jù),用for循環(huán)實現(xiàn)
for(int x=1; x<=5; x++) {
//把每一次獲取到的數(shù)據(jù),累加起來就可以了
//sum = sum + x;
/*
* 第一次:sum = 0 + 1 = 1
* 第二次:sum = 1 + 2 = 3
* 第三次:sum = 3 + 3 = 6
* 第四次:sum = 6 + 4 = 10
* 第五次:sum = 10 + 5 = 15
*/
sum += x;
}
//輸出求和結(jié)果
System.out.println("sum:"+sum);
}
}
package com.itheima_04;
/*
* 需求:求出1-100之間偶數(shù)和
*
* 分析:
* A:定義求和變量,初始化值是0
* B:獲取1-100之間的數(shù)據(jù),用for循環(huán)實現(xiàn)
* C:把獲取到的數(shù)據(jù)進行判斷,看是否是偶數(shù)
* 如果是,就累加
* D:輸出求和結(jié)果
*/
public class ForTest3 {
public static void main(String[] args) {
//定義求和變量,初始化值是0
int sum = 0;
//獲取1-100之間的數(shù)據(jù),用for循環(huán)實現(xiàn)
for(int x=1; x<=100; x++) {
//把獲取到的數(shù)據(jù)進行判斷,看是否是偶數(shù)
if(x%2 ==0) {
sum += x;
}
}
//輸出求和結(jié)果
System.out.println("sum:"+sum);
}
}
package com.itheima_04;
/*
* 需求:在控制臺輸出所有的”水仙花數(shù)”
*
* 分析:
* 什么是水仙花數(shù)呢?
* 所謂的水仙花數(shù)是指一個三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。
* 舉例:153就是一個水仙花數(shù)。
* 153 = 1*1*1 + 5*5*5 + 3*3*3
*
* A:三位數(shù)其實就告訴了我們水仙花數(shù)的范圍
* 100-999
* B:如何獲取一個數(shù)據(jù)的每一個位上的數(shù)呢?
* 舉例:我有一個數(shù)據(jù)153,請問如何獲取到個位,十位,百位
* 個位:153%10 = 3;
* 十位:153/10%10 = 5;
* 百位:153/10/10%10 = 1;
* 千位:...
* 萬位:...
* C:讓每個位上的立方和相加,并和該數(shù)據(jù)進行比較,如果相等,就說明該數(shù)據(jù)是水仙花數(shù),在控制臺輸出
*/
public class ForTest4 {
public static void main(String[] args) {
//通過循環(huán)獲取到每一個三位數(shù)
for(int x=100; x<1000; x++) {
//獲取個位,十位,百位
int ge = x%10;
int shi = x/10%10;
int bai = x/10/10%10;
//讓每個位上的立方和相加,并和該數(shù)據(jù)進行比較,如果相等,就說明該數(shù)據(jù)是水仙花數(shù),在控制臺輸出
if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
System.out.println(x);
}
}
}
}
ackage com.itheima_04;
/*
* 需求:統(tǒng)計”水仙花數(shù)”共有多少個
*
* 分析:
* A:定義統(tǒng)計變量,初始化值是0
* B:獲取三位數(shù),用for循環(huán)實現(xiàn)
* C:獲取三位數(shù)的個位,十位,百位
* D:判斷這個三位數(shù)是否是水仙花數(shù),如果是,統(tǒng)計變量++
* E:輸出統(tǒng)計結(jié)果就可以了
*/
public class ForTest5 {
public static void main(String[] args) {
//定義統(tǒng)計變量,初始化值是0
int count = 0;
//獲取三位數(shù),用for循環(huán)實現(xiàn)
for(int x=100; x<1000; x++) {
//獲取三位數(shù)的個位,十位,百位
int ge = x%10;
int shi = x/10%10;
int bai = x/10/10%10;
//判斷這個三位數(shù)是否是水仙花數(shù),如果是,統(tǒng)計變量++
if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
count++;
}
}
//輸出統(tǒng)計結(jié)果就可以了
System.out.println("水仙花數(shù)共有:"+count+"個");
}
}