【程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
public class java01 {
public static void main(String[] args){
int mouth = 12;
int mount[] = new int[mouth+1];
for(int i=1;i<=mouth;i++){
if(i==1){
mount[i] = 1;
}else{
mount[i] = mount[i-1] + mount[i-2];
}
}
for (int i =1 ; i <= mount.length-1; i++) {
System.out.println(i + "月:" + mount[i]);
}
}
}
【程序2】
题目:判断101-200之间有多少个素数,并输出所有素数。
public class java02 {
public static void main(String[] args){
int i,j;
for( i=101;i<=200;i++){
for( j=2;j<i/2;j++){
if(i%j==0){
j=1;
break;
}
}
if(j!=1){
System.out.println(i);
}
}
}
}
【程序3】
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
public class java03 {
public static void main(String[] args){
//3位的
int one,ten,hundred;
for(int i=100;i<=999;i++){
one = i%10%10;
ten = i/10%10;
hundred = i/100;
if(i==one*one*one+ten*ten*ten+hundred*hundred*hundred){
System.out.println(i);
}
}
}
}
【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
public class java04 {
public static void main(String[] args) {
Scanner sc = new Scanner(new BufferedInputStream(System.in));
int n = sc.nextInt();
int i = 2;
System.out.print(n + "=");
while (n > i) {
if (n % i == 0) {
System.out.print(i + "*");
n /= i;
} else {
i++;
}
}
System.out.println(n);
}
}
【程序5】
题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
public class java05 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if (a > 90) {
System.out.println("A");
}else if(a>60 && a<90){
System.out.println("B");
}else{
System.out.println("C");
}
}
}
【程序6】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,
取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,
返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
public class java06 {
public static void main(String[] args) {
Scanner sc = new Scanner(new BufferedInputStream(System.in));
int m = sc.nextInt(),n = sc.nextInt(),c=1;
int a = m ,b = n;
if(m<n){
c = m;
m = n;
n = c;
}
while(c != 0){
c = m%n;
m = n;
n = c;
}
System.out.println("最大公约数" + m);
System.out.println("最小公倍数" + (a*b/m));
}
}
【程序7】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
Character
isDigit(char ch)
确定指定字符是否为数字。
isLetter(char ch)
确定指定字符是否为字母。
isSpaceChar(char ch)
确定指定字符是否为 Unicode 空白字符。
public class java07 {
public static void main(String[] args) {
Scanner sc = new Scanner(new BufferedInputStream(System.in));
String str = sc.nextLine();
char s[] = str.toCharArray();
int digit=0,letter=0,space=0,rests=0;
for(int i=0;i<s.length;i++){
if(Character.isLetter(s[i])){
letter++;
}else if(Character.isDigit(s[i])){
digit++;
}else if(Character.isSpaceChar(s[i])){
space++;
}else{
rests++;
}
}
System.out.println("字母" + letter + "个");
System.out.println("数字" + digit + "个");
System.out.println("空格" + space + "个");
System.out.println("其他字符" + rests + "个");
}
}
【程序8】
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
public class java08 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
//输出a
int a = sc.nextInt();
//输入次数
int n = sc.nextInt();
int sum = 0 ;
int shu = a ;
System.out.print("s=" + a);
for(int i =1 ;i<n;i++){
shu=shu*10+a;
sum=sum+shu;
System.out.print("+" + shu);
}
System.out.println("\n" +"和是"+(sum+a));
}
}
【程序9】
题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
public class java09 {
public static void main(String[] args) {
int num=0;
for(int x=1;x<=1000;x++){
num=0;
for (int i = 1; i <= x / 2; i++) {
num += i;
if (x == num) {
System.out.println(x + "是一个完数");
}
}
}
}
}
【程序10】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
public class java10 {
public static void main(String[] args) {
double l=100,h=0,s=0;
for(int i=1;i<=10;i++){
h = l/2;
s = s + l+h;
l = h;
}
System.out.printf(" 第10次落地时,共经%.3f过米\n",(s-l));
System.out.printf("第10次反弹%.3f高\n",l);
}
}
【程序11】
题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
public class java11 {
public static void main(String[] args) {
for(int a=1;a<=4;a++){
for(int b=1;b<=4;b++){
for(int c=1;c<=4;c++){
if(a!=b&&a!=c&&b!=c){
System.out.println(""+a+b+c);
}
}
}
}
}
}
【程序12】
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,
从键盘输入当月利润,求应发放奖金总数?
public class java12 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("输入利润");
int pice = sc.nextInt();
double sum = 0;
if(pice <= 100000){
sum = pice * 1.1;
}else if(pice > 100000 && pice <= 200000){
sum = 100000 * 0.1 + (pice - 100000)* 0.075 + pice;
}else if(pice > 200000 && pice <= 400000){
sum = 100000 * (0.1 + 0.075)+(pice - 200000) * 0.5 + pice;
}else if(pice > 400000 && pice <= 600000){
sum = (100000 * (0.1 + 0.75) + 200000 * 0.05) + (pice - 400000) * 0.03 + pice;
}else if(pice > 600000 && pice <= 1000000){
sum = (100000 * (0.1 + 0.75) + 200000 * (0.05 + 0.03)) + (pice - 600000) * 0.015 + pice;
}else{
sum = (100000 * (0.1 + 0.75) + 200000 * (0.05 + 0.03) + 400000 * 0.015) + (pice - 1000000) * 0.01 + pice;
}
System.out.println("sum:" + sum);
}
}
【程序13】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
public class java13 {
public static void main(String[] args) {
for(int i=1;i<10000;i++){
if(Math.sqrt(i+100)%1==0&&Math.sqrt(i+268)%1==0){
System.out.println(i);
}
}
}
}
【程序14】
题目:输入某年某月某日,判断这一天是这一年的第几天?
public class java14 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("输入年份");
int year = sc.nextInt();
System.out.println("输入月份");
int mouth = sc.nextInt();
System.out.println("输入天数");
int day = sc.nextInt();
//定义月份天数
int[] arrmouth = {31,28,31,30,31,30,
31,31,30,31,30,31};
//判断闰年
if((year%4==0&&year%100!=0)||(year%400==0)){
arrmouth[2] = 29;
}
int num = 0 ;
for(int i=0;i<mouth-1;i++){
num = num + arrmouth[i];
}
System.out.println(num+day);
}
}
【程序15】
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
public class java15 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("input:x" );
int x = sc.nextInt();
System.out.println("input:y");
int y = sc.nextInt();
System.out.println("intput:z");
int z = sc.nextInt();
int temp = 0;
if(x>y){
temp = x;
x = y;
y = temp;
}
if(x>z){
temp = x;
x = z;
z = temp;
}
if(y>z){
temp = y;
y = z;
z = temp;
}
System.out.println(x + "<" + y + "<" + z );
}
}
【程序16】
题目:输出9*9口诀。
public class java16 {
public static void main(String[] args){
for(int i = 1; i<=9 ;i++){
for(int j =1 ;j<=i;j++){
System.out.print(j + "x" + i + "=" + (j*i) + "\t");
}
System.out.println();
}
}
}
【程序17】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,
又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
public class java17 {
public static void main(String[] args){
int sum = 1;
int day = 10;
for(int i =0;i<day-1;i++){
sum = (sum +1)*2;
}
System.out.println(sum);
}
}
【程序18】
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。
已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
public class java18x {
public static void main(String[] args) {
String c="xyz",b="",a="";
for(int i=0;i<c.length();i++){
if(new Character(c.charAt(i)).equals('x') || new Character(c.charAt(i)).equals('z')){
continue;
}else{
System.out.println("c vs " + c.charAt(i));
a = c.replace(new Character(c.charAt(i)).toString(), "");
}
}
for(int i=0;i<a.length();i++){
if(new Character(a.charAt(i)).equals('x')){
continue;
}else{
System.out.println("a vs " + a.charAt(i));
b = a.replace(new Character(a.charAt(i)).toString(), "");
}
}
System.out.println("b vs " + b);
}
}
【程序19】
题目:打印出如下图案(菱形)
public class java19 {
public static void main(String[] args) {
int l = 7;
for(int a =0;a<l/2+1;a++){
for(int i=a;i<l/2+1;i++){
System.out.print(" ");
}
for(int i=0;i<a*2+1;i++){
System.out.print("*");
}
System.out.println();
}
//下半部分
for(int a = 1;a<l/2+1;a++){
for(int i = 0;i<=a;i++){
System.out.print(" ");
}
for(int i = l-1;i>a*2-1;i--){
System.out.print("*");
}
System.out.println();
}
}
}
【程序20】
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
public class java20 {
public static void main(String[] args) {
double a = 1, b = 2;
double sum = 0;
for (int i = 1; i < 20; i++) {
double temp = 0;
sum = sum + b / a;
temp = a;
a = b;
b = temp + b;
/*
* a=b; b=a+b;
*/
}
System.out.println(sum);
}
}
【程序21】
题目:求1+2!+3!+...+20!的和
public class java21 {
public static void main(String[] args) {
long sum = 0;
long n = 1;
for(int i =1;i<=20;i++){
n = n*i;
sum = sum + n;
}
System.out.println(sum);
}
}
【程序22】
题目:利用递归方法求5!。
public class java22 {
public static void main(String[] args){
System.out.println(circle(5));
}
private static int circle(int i) {
if(i == 1) return 1;
return i*circle(i-1);
}
}
【程序23】
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。
问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。
问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。
请问第五个人多大?
public class java23 {
public static void main(String[] args) {
System.out.println(fun(5));
}
private static int fun(int i) {
if(i==1){
return 10;
}else{
return fun(i-1)+2;
}
}
}
【程序24】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
public class java24 {
public static void main(String[] args) {
Scanner sc = new Scanner(new BufferedInputStream(System.in));
int n = sc.nextInt();
String str = String.valueOf(n);
int len = str.length();
if(len>5){
return ;
}else{
System.out.printf("它是%d位数\n",len);
char s[] = str.toCharArray();
for(int i=s.length-1;i>=0;i--){
System.out.println(s[i]);
}
}
}
}
【程序25】
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
public class java25 {
public static void main(String[] args) {
int one,ten,hundred,thousand,myreabit;
for(int i=10000;i<=99999;i++){
myreabit = i / 10000;
thousand = i % 10000 / 1000;
hundred = i % 1000 / 100;
ten = i % 100 / 10;
one = i % 10;
if(one == myreabit&&ten==thousand){
System.out.println(i);
}
}
}
}
本文章百度已收录,若发现本站有任何侵犯您利益的内容,请及时邮件或留言联系,我会第一时间删除所有相关内容。