目录
百钱买百鸡问题
switch语句判断一周的第几天是星期几
实现一个四则运算的计算器
定义一个静态方法printTree打印一颗树
百钱买百鸡问题
题目要求:
编写程序解决“百钱买百鸡”问题。公鸡五钱一只,母鸡三钱一只,小鸡一钱三只,现有百钱欲买百鸡,共有多少种买法?
代码思路:
i代表公鸡,公鸡5钱一只,因此极端情况下最多能买20只公鸡;j代表母鸡,母鸡3钱一只,最多买33只;k代表小鸡,因为1钱3只,所以最多可以买300只小鸡,但因为白浅买百鸡,因此最多买100只小鸡,又因为1钱三只,所以每次增量为3.
public class TestDemo1 {
public static void main(String[] args) {
int count = 0;//方案数量
for(int i = 0; i <= 20; i++) {
for(int j = 0; j <= 33; j++) {
for(int k = 0; k <= 100; k+=3) {
if(i*5 + j*3 + k/3 == 100 && i + j + k == 100) {
count++;
//输出购买方案,实验题目未要求
System.out.println("购买" + i + "只公鸡" + "购买" + j + "只母鸡" + "购买" + k + "只小鸡");
}
}
}
}
System.out.println("一共有" + count + "种百元买百鸡的方案");
}
}
switch语句判断一周的第几天是星期几
题目要求:
利用switch语句判断一周的第几天是星期几(第一天是星期日,第二天是星期一,第三天是星期二,以此类推)。
具体代码:
package experiment1;
import java.util.Scanner;
public class TestDemo1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (true) {
System.out.print("请输入要判断哪一天:> ");
int data = scan.nextInt();
switch (data) {
case 1:
System.out.println("第一天是星期日");
break;
case 2:
System.out.println("第二天是星期一");
break;
case 3:
System.out.println("第三天是星期二");
break;
case 4:
System.out.println("第四天是星期三");
break;
case 5:
System.out.println("第五天是星期四");
break;
case 6:
System.out.println("第六天是星期五");
break;
case 7:
System.out.println("第七天是星期六");
break;
}
}
}
}
运行结果
实现一个四则运算的计算器
题目描述:
定义一个计算器类,该类中包含加、减、乘、除4个静态方法,并定义一个测试类,调用对应的方法进行四则运算。
计算器类(Calculator.java文件)
public class Calculator {
//加法
public static int add(int a, int b) {
return a+b;
}
//减法
public static int delete(int a, int b) {
return a-b;
}
//乘法
public static int multiply(int a, int b) {
return a*b;
}
//除法
public static double except(int a, int b) {
return (double)a/b;
}
}
测试类(Test.java文件)
public class Test {
public static void main(String[] args) {
System.out.println(Calculator.add(1,2));
System.out.println(Calculator.delete(1,2));
System.out.println(Calculator.multiply(1,2));
System.out.println(Calculator.except(1,2));
}
}
运行结果
定义一个静态方法printTree打印一颗树
题目描述
在类中定义一个静态方法printTree打印一颗树,该方法没有返回值,需要一个整形参数number定义树的高度,在主方法中调用这个方法,number值为5和10时得到下图的结果。
本题为找规律题目,找出每一行的空格、‘ * ’与行数的关系即可.
具体代码
public class TestDemo2 {
public static void printTree(int num) {
for(int i = 1; i <= num; i++) {
for (int j = 1; j <= num-i; j++) {
System.out.print(' ');
}
for (int j = 0; j < 2*i-1; j++) {
System.out.print('*');
}
System.out.println();
}
}
public static void main(String[] args) {
printTree(5);
printTree(10);
}
}



