例1:测试平年闰年
import java.util.Calendar;
/**
* 测试平年闰年
* @豆皮没有豆
*
*/
public class YuFa24 {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance(); // 获取当前时间
int year=calendar.get(Calendar.YEAR);//获取当前时间的年份部分
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
System.out.println(year+"是闰年");
}
else{
System.out.println(year+"是平年");
}
}
}
例2:打印矩形
/**
*
* 功能:打印矩形
********
********
********
********
* @豆皮没有豆
*
*/
public class YuFa25 {
public static void main(String[] args) {
//外层循环:控制行数
for(int i=1;i<=4;i++){
//内层循环:打印空格
for(int j=1;j<10;j++){
System.out.print(" ");
}
//内层循环:打印8个*
for(int k=1;k<=8;k++){
System.out.print("*");
}
//换行
System.out.println();
}
}
}
例3:打印平行四边形
/**
* 功能:打印平行四边形
********
********
********
********
行数空格的个数
1 10
2 9
3 8
4 7
i 11-i
* @豆皮没有豆
*
*/
public class YuFa26 {
public static void main(String[] args) {
//外层循环:控制行数
for(int i=1;i<=4;i++){
//内层循环:打印空格
for(int k=1;k<11-i;k++){
System.out.print(" ");
}
//内层循环:打印8个*
for(int j=1;j<=8;j++){
System.out.print("*");
}
//换行
System.out.println();
}
}
}
例4:打印等腰三角形
/**
* 打印等腰三角形
*
***
*****
*******
行数空格的个数
1 10
2 9
3 8
4 7
i 11-i
行数 *的个数
1 1
2 3
3 5
4 7
i 2*i-1
* @豆皮没有豆
*
*/
public class YuFa27 {
public static void main(String[] args) {
//外层循环:控制行数
for(int i=1;i<=4;i++){
//内层循环:打印空格
for(int k=1;k<11-i;k++){
System.out.print(" ");
}
//内层循环:打印*
for(int j=1;j<=2*i-1;j++){
System.out.print("*");
}
//换行
System.out.println();
}
}
}
例5:打印菱形
/**
* 功能:打印菱形
*
***
*****
*******
*****
***
*
分析
前四行 空格 个数
1 10
2 9
3 8
4 7
i 11-i
*号 个数
1 1
2 3
3 5
4 7
i 2*i-1
后三行 空格 个数
1 8
2 9
3 10
i 7+i
*号 个数
1 5
2 3
3 1
i 7-2*i
* @豆皮没有豆
*
*/
public class YuFa28 {
public static void main(String[] args) {
//外层循环:控制行数(打印菱形的上半部分前四行)
for(int i=1;i<=4;i++){
//内层循环:打印空格
for(int k=1;k<11-i;k++){
System.out.print(" ");
}
//内层循环:打印*
for(int j=1;j<=2*i-1;j++){
System.out.print("*");
}
//换行
System.out.println();
}
//外层循环:控制行数(打印菱形的下半部分后三行)
for(int i=1;i<=3;i++){
//内层循环:打印空格
for(int k=1;k<7+i;k++){
System.out.print(" ");
}
//内层循环:打印*
for(int j=1;j<= 7-2*i;j++){
System.out.print("*");
}
//换行
System.out.println();
}
}
}
例6:百钱买百鸡
/**
* 功能:百钱买百鸡
公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,
用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。
技能点:多重循环
思路:公鸡i只母鸡j只,小鸡k只
满足的条件
i+j+k=100 百鸡
5*i+3*j+k/3=100百钱
k%3==0 该条件勿忘小鸡个数必须是3的倍数
* @豆皮没有豆
*
*/
public class YuFa29 {
public static void main(String[] args) {
//实现1
System.out.println("实现1");
//公鸡
for(int i = 1; i<=100;i++){
//母鸡
for(int j=1;j<=100;j++){
//小鸡
for(int k=1;k<=100;k++){
if(i+j+k==100 && 5*i+3*j+k/3==100 && k%3==0){//3/3=1 4/3=1 5/3=1
System.out.println(i+"只公鸡,"+j+"只母鸡"+k+"只小鸡"+(i+j+k));
}
}
}
}
System.out.println("实现2");
/*实现2 优化减少循环次数(只看刚好花完100钱,20只公鸡就够100钱了,且公鸡,母鸡,小鸡都必须要有,所有公鸡的数量时小于20的,
全买母鸡最多33只,所有母鸡数小于33,买32只母鸡余下的钱不够买一只公鸡的,所有母鸡数小于32)*/
//从公鸡看
// 19公 1母 6小
// 18公 3母 3小 18公 2母 12小 18公 1母 21小
// 17公 4母 9小 17公 3母 18小 17公 2母 27小 17公 1母 36小
// 16公 6母 6小 16公 5母 15小 16公 4母 24小 16公 3母 33小 16公 2母 42小 16公 1母 51小
//从母鸡看
// 31母 1公 6小
for(int i = 1; i<=19;i++){
//母鸡
for(int j=1;j<=31;j++){
//小鸡
int k = 100-i-j;
if(5*i+3*j+k/3==100 && k%3==0){//3/3=1 4/3=1 5/3=1
System.out.println(i+"只公鸡,"+j+"只母鸡"+k+"只小鸡"+(i+j+k));
}
}
}
}
}