Java基础练习

  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;
   	}
   }
}



你可能感兴趣的:(Java基础练习)