import java.util.Random;
import java.util.Scanner;
public class Work {
public static void main(String[] args) {
//1.鸡兔同笼:上有35头,下有90足,问鸡兔各多少?编程计算出鸡兔数量为:
//鸡:25
//兔:10
int num1;
for(num1=1;num1<=35;num1++){
if(num1*2+(35-num1)*4==90){
System.out.println("鸡:"+num1);
System.out.println("兔:"+(35-num1));
}
}
//2.百钱买百鸡:公鸡五钱一只,母鸡三钱一只,小鸡一钱三只,现有百钱欲买百鸡,
// 共有多多少种买法,编程计算出结果为4种
int x,y,z;
int count = 0;
for(x=0;x<=100;x++){
for(y=0;y<=100;y++){
for(z=0;z<=100;z+=3){
if(x + y + z ==100 && 5*x +3*y +z/3 ==100){
count++;
}}}}
System.out.println("一共有"+count+"种买法");
/*3.通过运行参数做一个加法,减法,乘法计算器方法,要求输入三个数,最后一个数字控制程序的算法。
(1表示加法,2表示减法,3表示乘法)如下:
参数: 123 12 1,时输出:123+12=135
参数: 123 12 2,时输出:123-12=111
参数:123 12 3,时输出:123x 12=1476
参数: 123 12 4,时输出:参数错误*/
int n1,n2,n3,r;
System.out.println("参数:");
Scanner sc1 = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);
Scanner sc3 = new Scanner(System.in);
n1 = sc1.nextInt();
n2 = sc2.nextInt();
n3 = sc3.nextInt();
switch (n3){
case 1 :
r = n1 + n2;
System.out.println(n1+"+"+n2+"="+r);break;
case 2 :
r = n1 - n2;
System.out.println(n1+"-"+n2+"="+r);break;
case 3 :
r = n1 * n2;
System.out.println(n1+"*"+n2+"="+r);break;
default:
System.out.println("参数错误");
}
/*4.编写一个输入圆半径r,计算并返回圆周长。注意判断圆半径r是否大于零,如果小于0则返回0。如:输入:1,输出:6.48*/
int r1;
double wide;
Scanner sc4 = new Scanner(System.in);
r1 = sc4.nextInt();
if (r1 > 0) {
wide = 3.14 * 2 * r1;
System.out.println(wide);
}
//5.编写一个输入圆半径r,计算圆面积的方法。如:输入:2,输出:12.56
int r3;
double area;
Scanner sc5 = new Scanner(System.in);
r3 = sc5.nextInt();
area = 3.14* r3* r3;
System.out.println(area);
/*6.分别利用三目运算符,if-else完成如下评分业务,
学习成绩大于等于90分的同学用A表示,,70-89分之间的用B表示,
60-69分之间的用C表示, 小于60分用D表示。*/
//三目运算符
System.out.println("请输入成绩");
double score;
Scanner sc6 = new Scanner(System.in);
score = sc6.nextDouble();
System.out.println(score<60?'D':(score<70?'C':(score<90?'B':'A')));
//if-else
if(score>=90){
System.out.println("A");
}else if(score >=70 && score <90){
System.out.println("B");
}else if(score >=60 && score <70){
System.out.println("C");
}else{
System.out.println("D");
}
/*7.编写一个程序用来计算2~1000之间的素数的个数,最后输出结果。(素数(prime number)又称质数,有无限个。
一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,如:7和11) 。*/
int i = 2; // i 是起始变量
boolean prime; // prime 用来判断是否存在否定素数的因子
int amount=0; //累加器,统计素数个数
while(i<=1000) {
//这里先重置一下布尔值的默认值,以便后面判断是否存在否定因子
prime = true;
//进入循环,判断是否存在否定因子
for(int n = 1 ; n < i ; n++ ) {
//如果存在否定素数的因子,改变默认布尔值
if(i%n == 0 && n!=1 )prime = false;
}
if(prime)amount++; //素数累加器自增
//if(prime)System.out.print(i+"\t"); //判断是否是素数
i++;
}
System.out.println(amount);
/*8.设计一个猜数字小游戏,计算机生成出一个[1,100]之间的随机数,人输入自己猜的数字,计算机给出对应的提示信息,
如:猜大了或猜小了。限制7次机会人猜出计算机出的数字。备注:Math.random()会得到一个[0,1)之间的随机浮点数。*/
Random r2 =new Random();
int lucknum= r2.nextInt(101);
Scanner sc7 = new Scanner(System.in);
int co =0;
while(true) {
System.out.println("请输入");
int guessnum = sc7.nextInt();
co++;
if (guessnum > lucknum) {
System.out.println("您猜的数字太大啦");
} else if (guessnum < lucknum) {
System.out.println("您猜的数字太小啦");
} else {
System.out.println("恭喜您,猜对啦");
break;
}
if(co==7){
System.out.println("您的七次机会已用完");
break;
}
}
}
}
day1作业
Java编程解决经典算法问题
最新推荐文章于 2025-11-24 14:38:27 发布
该程序使用Java实现了多个数学问题的解决方案,包括鸡兔同笼问题、百钱买百鸡问题、加减乘法计算器、计算圆周长和面积、评分系统以及寻找素数的数量。同时,还设计了一个猜数字游戏,用户有7次机会猜计算机生成的1到100之间的随机数。
505





