1. 输出1900-2012的闰年。(闰年规则:①、能被4整除且不能被100整除的为闰年.②、能被400整除的是闰年)
2. 输出10000-99999里面的所有回文数。说明:即12321是回文数,个位与万位相同,十位与千位相同。
3. 购物小游戏
System.out.println("===========Shopping管理系统===========");
System.out.println("**********************************");
System.out.println("请选择购买的商品编号:");
double one = 356, two = 534, three = 199;
System.out.println("编号:0001----T恤\t编号:0002----网球鞋\t\t编号:0003----网球拍");
System.out.println("**********************************");
Scanner scanner = new Scanner(System.in);
boolean flag = true;//flag循环是否继续的标志
int num;//购买的数量
String str = "";//接收输入的yes和no
String no = null;//商品编号
double money = 0;//消费金额
while(flag){
System.out.println("请输入商品编号:");
no = scanner.next();//得到商品编号
System.out.println("请输入购买数量:");
num = scanner.nextInt();
switch (no){
case "0001":
System.out.println("T恤\t¥"+one+"\t数量"+num+"\t合计¥"+one*num);
money += one*num;
break;
case "0002":
System.out.println("网球鞋\t¥"+two+"\t数量"+num+"\t合计¥"+two*num);
money += two*num;
break;
case "0003":
System.out.println("网球拍\t¥"+three+"\t数量"+num+"\t合计¥"+three*num);
money += three*num;
break;
}
System.out.println("是否继续(yes/no)");
str = scanner.next();
if ("no".equals(str)) {
break;
}
}
System.out.println("折扣"+0.8);
System.out.println("应付金额:"+money*0.8);
System.out.print("实付金额:");
double smoney = scanner.nextDouble();//实付金额
System.out.println("找钱:"+(smoney - money*0.8));
scanner.close();//关闭资源
4. 猴子摘了一堆枣N个,第一天吃了一半,还嫌不过瘾,又多吃了一个:第二天又吃了剩下的一半零一个:以后每天如此,到第十天,猴子一看只剩下一个了。问最初有多少个枣子?
int n = 1;//最后剩下的枣子
int m = 0;//最初的枣子
int count = 1;
do {
m = (n+1) * 2;
n = m;
count ++;
}while(count < 10);
System.out.println("循环的次数"+count);
System.out.println("最初的枣子:"+m);
5. 两个乒乓球队进行比赛,各出三人。甲队为A、B、C 3人。乙队为X、Y、Z 3人,已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,请编写代码找出三队赛手名单。
6. 一个人拿100元买100只鸡,已知公鸡每只2元,母鸡每只1.5元,小鸡每只0.5元,并且要求公鸡、母鸡、小鸡都至少要有一只,问有多少种买法?
7. 求反序数:反序数就是将整数倒过来的整数,如整数12345,倒过来是54321。需求:求任何给定的整数的反序数
8. 指定最大位数N,找出其中的水仙花数(水仙花数:是指一个三位或以上的数字,它的每个位上的数字的n次幂之和等于它本身。例如:153=1*1*1+5*5*5+3*3*3。)
System.out.print("指定最大位数N:");
Scanner input = new Scanner(System.in);
int N = input.nextInt();
input.close();
for (int i = 3; i <= N; i++) {
int a[] = new int[i];
int num = (int) Math.pow(10, i - 1) + 1;
System.out.print(i + "位的水仙花数有:\t");
while (num <= Math.pow(10, i)) {
int sum = 0;
for (int j = 0; j < i; j++) {
int aaa = (int)Math.pow(10, j);
a[j] = (int) (num / Math.pow(10, j) % 10);
}
for (int j = 0; j < i; j++) {
sum = sum + (int) Math.pow(a[j], i);
}
if (num == sum) {
System.out.print(num + "\t");
}
num++;
}
System.out.print("\n");
}
9. 一共30个人,可能包括男人,女人,小孩,他们一家在饭馆吃饭一共花了50元,其中男人花了3元,每个女人花2元,小孩1元,请问男人,女人,小孩各几个人?
for (int i = 1;i <= 50/3;i++){ //男人
for (int j = 1 ; j <= 30-i; j++){ //女人
for (int k = 1; k<= 30-i-j;k++){ //小孩
if ((i+j+k==30) && (i*3+j*2+k*1==50)) {
System.out.println(i+" "+j+" "+k);
}
}
}
下一章,(06)ASCII码表