1.数值拆分
需求:一个三位数,将其拆分为个位、十位、百位后,打印在控制台
public class Operator {
public static void main(String[] args) {
int data = 589;
int ge = data % 10;
System.out.println(ge);
int shi = data / 10 % 10;
System.out.println(shi);
int bai = data / 100;
System.out.println(bai);
}
}
2.求三个整数的最大值
需求:定义三个整数,找出最大值并打印在控制台
分析
1.用三元运算符获取前两个整数的最大值, 并用临时变量保存起来
num1 > num2 ? num1 : num2;
2.用三元运算符,让临时最大值和第三个整数进行比较,并记录结果
temp > num3 ? temp : num3;
3.输出结果
public class Max {
public static void main(String[] args) {
int i = 10;
int j = 30;
int k = 50;
int temp = i > j ? i : j;
int max = temp > k ? temp : k;
System.out.println(max);
}
}
3.键盘录入
需求:请完成Java程序与用户交互,比如录入用户输入的名称、年龄。
public class ScannerDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入姓名:");
String name = scanner.next();
System.out.println("您的姓名是:" + name);
System.out.println("请输入年龄:");
int age = scanner.nextInt();
System.out.println("您的年龄是:" + age);
}
}
4.求和
需求:求1-5之间的数据和,并把求和结果在控制台输出
分析:
1.定义for循环使其能够依次访问到1、2、3、4、5.
2.在循环外定义一个整数变量sum用来累加这些数据
3.循环结束后,输出求和变量即是结果
public class Sum {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <=5 ; i++) {
sum+=i;
}
System.out.println("1-5的和是"+sum);
}
}
5.求奇数和
需求:求1-10之间的奇数和,并把求和结果在控制台输出
分析:
方法一
1.定义for循环使其能够依次访问到:1、2、3......10
2.在for循环中,通过if筛选出奇数
3.在循环外定义一个整数变量sum用来累加这些数据
public class Jishuhe {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 1) {
sum += i;
}
}
System.out.println("1-10的奇数和是" + sum);
}
}
方法二
1.定义for循环使其能够依次访问到:1、3、5、7、9
2.在循环外定义一个整数变量sum用来累加这些数据
public class JIshuhe2 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10; i += 2) {
sum += i;
}
System.out.println("1-10的奇数和是" + sum);
}
}
6.水仙花数
需求:在控制台输出所有的”水仙花数“,水仙花数必须满足如下2个要求:
1.水仙花数是一个三位数
2.水仙花数的个位、十位、百位数字的立方和等于原数
分析:
1.定义一个for循环从“100一直到999”
2.每次访问到数据后,提取该数据的:个位、十位、百位数字
3.使用if判断:个位、十位、百位数字的立方和是否等于原数,等于则输出该数据
public class Shuixianhua {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
if ((ge * ge * ge + shi * shi * shi + bai * bai * bai) == i) {
System.out.print(i+"t");
}
}
}
}
7.珠穆朗玛峰(世界最高峰8848.86)
需求:世界最高山峰是珠穆朗玛峰(8848.86米=8848860毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,折叠多少次,可以折成珠穆朗玛峰的高度
分析:这种不清楚要循环多少次的情况可以选择用while实现
1.定义变量存储珠穆朗玛峰的高度、纸张的高度
2.使用while循环,循环条件是(纸张厚度<山峰高度),内部控制纸张折叠,每折叠一次,纸张厚度为原来的两倍,循环外定义计数变量,每折叠一次让该变量+1
public class Zhumulangma {
public static void main(String[] args) {
double peakHeight = 8848860;
double paperThickness = 0.1;
int count = 0;
while (paperThickness < peakHeight) {
paperThickness *= 2;
count++;
}
System.out.println("折叠的次数" + count);
System.out.println("纸张的厚度" + paperThickness);
}
}
8.猜数字游戏
需求:随机生成一个1-100之间的数据,提示用户猜测,猜大提示过大,猜小提示过小,直到猜中 结束游戏
分析:
1.随机生成一个1-100之间的数据
2.使用死循环不断提示用户猜测,猜大提示过大,猜小提示过小,猜中结束游戏
public class Caishuzi {
public static void main(String[] args) {
Random r = new Random();
int luckyNumber = r.nextInt(100)+1;
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请您输入猜测的数据(1-100): ");
int guessNumber = sc.nextInt();
if (guessNumber>luckyNumber){
System.out.println("猜测数据过大");
}else if(guessNumber
9.数组遍历-求和
需求:某部门5名员工的销售额分别是:16、26、36、6、100,请计算出他们部门的总销售额
public class Test1 {
public static void main(String[] args) {
int[] money = {16, 26, 36, 6, 100};
int sum = 0;
for (int i = 0; i < money.length; i++) {
sum += money[i];
}
System.out.println("数组的元素和是" + sum);
}
}
10.数组求最值
需求:15,9000,10000,20000,6500,-5求最大值



