java基础的一些算法题目

直接上代码,简洁直观~
(1)输入一个五位数判断是否是回文数? 

import java.util.*; 
public class Yule{ 
public static void main(String []args){ 
Scanner sc = new Scanner(System.in); 
System.out.println(“请输入一个五位整数”); 
int sum = sc.nextInt(); 
int g = sum%10; 
int s = sum/10%10; 
int b = sum/100%10; 
int q = sum/1000%10; 
int w = sum/10000%10; 
if(g==w && s==q){ 
System.out.println(“是回文数”); 
}else{ 
System.out.println(“不是回文数”); 
} 
} 
} 


(2)输入月份,输出相应季节,并输出两个该季节成语 

public class Tese7{ 
public static void main(String []args){ 
Scanner sc = new Scanner(System.in); 
System.out.println(“请输入月份”); 
int Month = sc.nextInt(); 
if(Month>=3 && Month<=5){ 
System.out.println(“春季–春暖花开–春风化雨 植树,踏青”); 
}if(Month>=6 && Month<=8){ 
System.out.println(“夏季–绿树成荫–炎炎夏日 游泳,吃雪糕”); 
}if(Month>=9 && Month<=11){ 
System.out.println(“秋季–一叶知秋–春华秋实 散步,放风筝”); 
}if(Month==12){ 
System.out.println(“冬天–银装裹裹–千里冰封 堆雪人,打雪仗”); 
}if(Month>=1 && Month<=2){ 
System.out.println(“冬天–银装裹裹–千里冰封 堆雪人,打雪仗”); 
} 
} 
} 


(3)输入成绩判断在成绩的优良及格和不及格 

public class Yule{ 
public static void main(String []args){ 
Scanner sc = new Scanner(System.in); 
System.out.println(“请输入你的成绩”); 
double f = sc.nextDouble(); 
if(f>80){ 
System.out.println(“优秀”); 
}else if(f<80 && f>70){ 
System.out.println(“良好”); 
}else if(f<70 && f>60){ 
System.out.println(“及格”); 
}else{ 
System.out.println(“不及格”); 
} 
} 
} 


(4)输入一个四位整数判断是否为玫瑰花数 

public class Yule{ 
public static void main(String []args){ 
Scanner sc = new Scanner(System.in); 
System.out.println(“请输入一个四位整数”); 
int sum = sc.nextInt(); 
if(1000<=sum && sum>=9999); 
int g = sum%10; 
int s = sum/10%10; 
int b = sum/100%10; 
int q = sum/1000%10; 
if(sum==Math.pow(g,4)+Math.pow(s,4)+Math.pow(b,4)+Math.pow(q,4)){ 
System.out.println(“是玫瑰花数”); 
}else{ 
System.out.println(“不是玫瑰花数”); 
} 
} 
}

(5)根据用户输入底和高就算梯形的面积(精确到小数点后两位)

Scanner sc = new Scanner(System.in);
System.out.println("请输入梯形的上底");
double sd=sc.nextDouble();
System.out.println("请输入梯形的下底");
double xd=sc.nextDouble();
System.out.println("请输入梯形的高");
double gao=sc.nextDouble();
double mj=(sd+xd)*gao/2;
//java四舍五入保留2位小数
BigDecimal bl=new BigDecimal(mj);
double jg = bl.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();

System.out.println("梯形的面积是:"+jg);

(6)从键盘上输入一个字符,如果是大写字母,则转换成小写字母,如果是小写字母,转换成大写字母,如果是数字字符,转换成该数字所对应的数值的平方。否则原样输出。

Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符");
char c=sc.next().charAt(0);
if(c>='a'&&c<='z') {
System.out.println((char)(c-32));
}else if(c>='A'&&c<='Z') {
System.out.println((char)(c+32));
}else if(c>='0'&&c<='9') {
System.out.println(Math.pow(c-48, 2));
}else {
System.out.println(c);

}

(7)根据用户输入的年份,月份,日期计算该日期是一年中的第几天

Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int y=sc.nextInt();
int r=sc.nextInt();
int e=28;
int sum=r;
if(n%4==0&&n%100!=0||n%400==0) {
e=29;
}
int yf[]= {31,e,31,30,31,30,31,31,30,31,30,31};
for(int i=0;i<y-1;i++) {
sum+=yf[i];

}System.out.println(sum);

(8)古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问20个月后兔子总数为多少?

int a = 2, b = 2, c = 0;
for (int i = 3; i <= 20; i++) {
c = a + b;
a = b;
b = c;
}

System.out.println("20个月后有" + c + "只兔子");

(9)猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

int sum = 1;
for (int i = 1; i < 10; i++) {
sum = (sum + 1) * 2;
}
System.out.println("第一天一共摘了" + sum + "个桃子");

猜你喜欢

转载自blog.csdn.net/weixin_41719737/article/details/86506086
今日推荐