java学习第7天
今日学习内容
对前几天所学内容做一些基础练习。
练习一:减肥计划·if版
要求:输入星期数,显示今天的减肥活动。
周一:跑步,周二:游泳,周三:慢走,周四:动感单车,周五:拳击,周六:爬山,周日:休息。
package myproject;
import java.util.Scanner;
public class jichulianxi1 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("请输入星期天数:");
int day=sc.nextInt();
if(day==1) {
System.out.println("跑步");
}else if(day==2){
System.out.println("游泳");
}else if(day==3){
System.out.println("慢走");
}else if(day==4){
System.out.println("动感单车");
}else if(day==5){
System.out.println("拳击");
}else if(day==6){
System.out.println("爬山");
}else if(day==7){
System.out.println("好好吃一顿");
}else {
System.out.println("输入错误,请重新输入。");
}
}
}


练习二:减肥计划switch版
要求同练习一相同。
package myproject;
import java.util.Scanner;
public class jichulianxi2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入星期天数:");
int day=sc.nextInt();
switch (day) {
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;
default:
System.out.println("输入错误,请重新输入。");
}
}
}

基础练习3:游戏逢7过
游戏规则:
从任意一个数开始报数,当你要报的数包含7或是7的倍数,要求说过。
要求在控制台打印出需要1~100内需要说过的数据。
package myproject;
public class jichulianxi3 {
public static void main(String[] args) {
System.out.print("需要说过的数据:");
for(int i=1;i<100;i++) {
if((i%7==0)||(i%10==7)||(i/10==7))
System.out.print(i+" ");
}
}
}

基础练习4:不死神兔
问题:有一对兔子,出生后第三个月起每一个月生一对兔子,小兔子长到第3个月后,每一个月又生一对兔子。假设没一对兔子都不死,问出生第20个月后有多少对兔子?
思路:(1) 定义一个数组,动态初始化初始数组元素的值,数组长度为20。
(1) 前两项数组元素值为1,1,从第三项起数组的每位元素值为前两项之和。
//通过规律发现,然后推理验证可得。
package myproject;
public class jichulianxi4 {
public static void main(String[] args) {
int []arr=new int[20];
arr[0]=1;
arr[1]=1;
for(int i=2;i<arr.length;i++) {
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("第20个月兔子对数:" +arr[19]);
}
}

基础练习5:百钱百鸡
公鸡5文钱一只,母鸡3文钱1只,鸡雏1文钱3只,100钱买100只鸡,问公鸡、母鸡、鸡雏多少只?
穷举法:
设公鸡a只,母鸡b只,小鸡c只。
两层循环:0=<a<=20, 0=<b<=33,
c=100-a-b;
满足a+b+c=100; 5*a+3*b+c/3=100条件可得。
package myproject;
public class jichulianxi5 {
public static void main(String[] args) {
int a,b,c;
for(a=0;a<=20;a++) {
for(b=0;b<=33;b++) {
c=100-a-b;
if((5*a+3*b+c/3==100)&&(c%3==0)) {
System.out.println(a+"只"+b+"只"+c+"只");
}
}
}
}
}

基础练习6:数组求和
给定一个数组{68,27,95,88,171,996,51,210}求数组中满足要求的元素和、
要求元素的个位和十位都不能是7,而且必须是偶数。
定义一个数组,静态初始化,从数组第一项判断置否符合条件,符合做累加操作。
package myproject;
public class jichulianxi6 {
public static void main(String[] args) {
int []arr= {68,27,95,88,171,996,51,210};
int sum=0;
for(int i=0;i<arr.length;i++) {
if((arr[i]%10!=7)&&(arr[i]/10!=7)&&(arr[i]%2==0)){
sum+=arr[i];
}
}
System.out.println(sum);
}
}


浙公网安备 33010602011771号