Java基础练习

本文通过三个基础编程练习来探讨Java编程:1. 韩信点兵问题,利用取余运算解决人数谜题;2. 详细阐述了判断闰年的算法,介绍了闰年能被4整除且不能被100整除,或能被400整除的条件;3. 百鸡问题的解决方案,解析如何用100元购买100只鸡,包括公鸡、母鸡和小鸡的数量分配。最后,还介绍了如何打印1到100之间的素数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 取余运算:韩信点兵,不足百人。三人一行多一个,七人一行少两个,五人一个正好,问有多少人?
public class CalSoldiery {
	public static void main(String rgs[])//main函数里面其实只需要一个字符串数组,标识符的名字取什么其实无所谓
	{
		for(int i=1;i<=100;i++)//不足百人
		{
			if((i%3==1)&&(i%7==5)&&(i%5==0))
{
	System.out.println("正好有"+i+"人");
	System.out.print("正好有"+i+"人");
	System.out.printf("正好有%d人\n",i);
	//break;如果只需要求一种情况,就加上break;
	
}
		}
	}
}
  1. 判断某年是否为闰年。
    算法:闰年能被4整除,不能被100整除;能被100整除,同时需能被400整除
import java.util.Scanner;
public class LeapYear {
	public static void main(String args[])
	{
		Scanner _scanf = new Scanner(System.in);
		while(true)
		{
		System.out.print("请输入你要判断的年份:");
		int year = _scanf.nextInt();
		if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0))
		{
			System.out.println("你输入的年份是闰年~~");
		}
		else
		{
			System.out.println("你输入的年份并不是闰年~~");
		}
		}
	}
}
  1. 百鸡问题:公鸡5元/只,母鸡3元/只,小鸡3只/元,若100元买100只鸡,问其中公鸡、母鸡、小鸡各多少?


public class CalChicken {
   	public static void main(String args[])
   	{
   		//条件应该是无余钱,第一想法是暴力遍历
   		int _case=1;//公鸡、母鸡、小鸡最大数量,100/5=20,100/3=33;100*3=300;
   		boolean _false=false;
   		for(int i=0;i<=20;i++)
   		{
   			for(int j=0;j<=33;j++)
   			{
   				for(int k=0;k<=300;k++)
   				{
   					if((5*i+3*j+(float)k/3)==100&&(i+j+k==100))//小鸡的个数应为3的整数倍,此时n/3余数为0,强转实现该目标
   					{
   						System.out.println("情况"+_case+":公鸡有"+i+"母鸡有"+j+"小鸡有"+k);
   						_case++;
   						_false=true;
   					}
   				}
   			}
   		}
   		if(_false==false)//防止没有整数解
   		{
   			System.out.println("该题无解");
   		}
   	}
}

  1. 编程打印1——100的素数
public class CountPrime {//首先清楚素数的概念:因数只有1和自己本身(因数的个数为2),1只有一个因数所以不是素数
   public static void main(String args[])
   {
   	int _judge=0;
   	System.out.println("1-100素数有:");
   	for(int i=2;i<100;i++)
   	{
   		for(int j=1;j<=i;j++)
   		{
   			if(i%j==0)
   			{
   				_judge++;
   			}
   		}
   		if(_judge==2)
   		{
   			System.out.println(i);
   		}
   		_judge=0;
   	}
   }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值