1、编写程序实现对给定的 4 个整数从大到小的顺序排列。
package com;
import java.util.Scanner;
public class JavaDemo01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a,b,c,d,t;
System.out.printf("请输入四个整数");
Scanner in=new Scanner(System.in);
a=in.nextInt();
b=in.nextInt();
c=in.nextInt();
d=in.nextInt();
if(a <b){ t = a; a = b; b = t;}
if(b <c){ t = c; c= b; b = t;}
if(c <d){ t = d; d = c; c = t;}
if(a <b){ t = a; a = b; b = t;}
if(b <c){ t = c; c= b; b = t;}
if(c <d){ t = c; c= d; d = t;}
System.out.println(a+"\t"+b+"\t"+c+"\t"+d);
}
}
2、输入 3 个正整数(边长),判断能否构成一个三角形。
package com;
import java.util.Scanner;
public class JavaDeme02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a,b,c;
while(true)
{
System.out.println("请输入三个正整数");
Scanner in=new Scanner(System.in);
a=in.nextInt();
b=in.nextInt();
c=in.nextInt();
if(a<0||b<0||c<0) {
System.out.println("您输入数值的有误,请重新输入");
}
if(a+b>c&&b+c>a&&a+c>b) {
System.out.println("以上数据能构成三角形");
}
else {
System.out.println("以上数据不能构成三角形");
}
}
}
}
3、编写程序,从键盘输入一个 0~99999 之间的任意数,判断输入的数是几位数。
package com;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
while(true)
{
int number,i=0;
System.out.println("请输入一个100000以内的正整数");
Scanner in=new Scanner(System.in);
number=in.nextInt();
do
{
number=number/10;
i++;
}
while(number>0);
System.out.println("您输入的是一位"+i+"位数");
}
}
}
4、编写程序,对输入的一个整数,按相反顺序输出该数。例如(输入为 1234,输出为 4321)
package com;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
while(true) {
int number,result=0;
System.out.println("请输入一个正整数");
number=in.nextInt();
while (number>0) {
int a=number%10;
result=result*10+a;
number/=10;
}
System.out.println("该正整数的倒排数是"+result);
}
}
}
5、用 while 循环,计算 1~200 之间所有 3 的倍数之和。
package com;
public class Demo05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=0,i=1;
while(i<=200)
{
if(i%3==0) {
sum+=i;
}i++;
}
System.out.println("1~200以内所有3的倍数之和是"+sum);
}
}
6、编写程序,输出 200~500 之间的所有素数。
package com;
public class Demo06 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i,j;
for(i=200;i<=500;i++)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
if(j>=i)
System.out.println(i);
}
}
}
7、编写程序解决“百钱买百鸡”问题:公鸡五钱一只,母鸡三钱一只,小鸡一钱三只,现有百钱欲买百鸡,共有多少种买法?
package com;
public class Demo07 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int G=20;G>=0;G--) {
for(int M=33;M>=0;M--) {
for(int X=100-G-M;X>=0;X--) {
if(X%3==0&&5*G+3*M+X/3==100&&G+M+X==100)
System.out.println("公鸡是"+G+"只,母鸡是"+M+"只,小鸡是"+X+"只");
}
}
}
}
}
8、猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第 10 天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
package com;
public class Demo08 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=1,sum=1;
for(;i<10;i++) {
sum=2*(sum+1);
//System.out.println("猴子第"+(10-i)+"天没吃前还剩"+sum+"只桃子");
}
System.out.println("猴子第一天摘了"+sum+"只桃子");
}
}
9、已知 XYZ+YZZ=532,其中,X、Y、Z 为数字,编程求出 X、Y 和 Z 的值。
package com;
public class Demo09 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int X,Y,Z;
for(X=0;X<10;X++) {
for(Y=0;Y<10;Y++) {
for(Z=0;Z<10;Z++) {
if(((100*X+10*Y+Z)+(100*Y+10*Z+Z))==532)
System.out.println("X="+X+",Y="+Y+",Z="+Z);
}
}
}
}
}
10、古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
package com;
import java.util.Scanner;
public class Demo10 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入你要知道兔子数量的的月份");
Scanner in=new Scanner(System.in );
int rabbit = 1;
int x=in.nextInt();
int newRabbit = 1;
int count;
int month = x;
System.out.println("第1月兔子有 1 对");
System.out.println("第2月兔子 有1 对");
for(int i= 3 ; i <= month; i++){
count = newRabbit;
newRabbit = rabbit + newRabbit;
rabbit = count;
System.out.println("第"+i+"月兔子有 "+newRabbit+" 对");
}
}
}
更多推荐
初学JAVA 10道入门小程序
发布评论