Java练习题2-代码

代码练习题

练习1:键盘输入一个年份和月份,判断当月多少天?

import java.util.Scanner;

public class demo1{

         public static void main(String[] args) {

                  Scanner scan = new Scanner(System.in);

                  System.out.println("请输入年份");

                  int year = scan.nextInt() ;

System.out.println("请输入月份");

                  int month = scan.nextInt() ;

                  switch(month){

                          case 1:

                          case 3:                     

                          case 5:                              

                          case 7:                              

                          case 8:                                       

                          case 10:

                          case 12:

                                   System.out.println("你输入的月份有31天");

                                   break;

                          case 2:

                                   if( (year%4 == 0 && year%100 != 0) || (year%400 == 0) ) {

                                            System.out.println("您输入的月份有28天");

                                   }else{

                                            System.out.println("您输入的月份有29天");

                                   }break;

                          case 4:

                          case 6:                     

                          case 9:                              

                          case 11:                            

                                   System.out.println("你输入的月份有30天");

                                   break;

                          default:

                                   System.out.println("你输入的月份有误");

                                   break;

                  }

         }

}

练习2:循环得到用户从控制台输入的5个整数,并计算出它们之和

import java.util.Scanner;

public class demo37{

         public static void main(String[] args) {

                  int sum = 0 ;

                  for(int a=1 ; a<=5 ; a++){

                          Scanner scan = new Scanner(System.in);

                          System.out.println("请输入整数");

                          int x = scan.nextInt();

                          sum += x;

                  }System.out.println("总数为"+sum);    

         }

}

练习3:输入两个整数,判断第1个整数是否为第2个整数的倍数

import java.util.Scanner;

public class demo1{

         public static void main(String[] args) {

                  Scanner scan = new Scanner(System.in);

                  System.out.println("请输入第1个整数");

                  int a = scan.nextInt() ;

System.out.println("请输入第2个整数");

                  int b = scan.nextInt() ;

                  if(a%b == 0) {

                          System.out.println(a+"是"+b+"的倍数");

                  }else{

                          System.out.println(a+"不是"+b+"的倍数"); 

                  }

         }

}

练习4:编写一个程序,求整数n的阶乘,例如于的阶乘是1*2*3*4*5

import java.util.Scanner;

public class demo4{

public static void main(String[] args) {

         Scanner scan = new Scanner(System.in);

         System.out.println("请输入整数");

         int n = scan.nextInt() ;

         int jc = 1;

         for (int i=1; i<=n; i++) {

                  jc *= i;

         }System.out.println("n的阶乘为:"+jc);

}      

}

练习5:输入三个整数x,y,z,请把这三个数由小到大输出

import java.util.Scanner;

public class demo4{

public static void main(String[] args) {

         Scanner scan = new Scanner(System.in);

         System.out.println("请输入3个整数");

         int x = scan.nextInt() ;

         int y = scan.nextInt() ;

         int z = scan.nextInt() ;

         if(x>y || y>z) {

                  System.out.println(z+","+y+","+x);

         }else if(z>y || y>x) {

                  System.out.println(x+","+y+","+z);

         }else if(z>x || x>y) {

                  System.out.println(y+","+x+","+z);

         }else if(y>x || x>z) {

                  System.out.println(z+","+x+","+y);

         }else if(x>z || z>y) {

                  System.out.println(y+","+z+","+x);

         }else{

                  System.out.println(x+","+z+","+y);

         }

}

}

练习6:有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。

import java.util.Scanner;

public class demo4{

public static void main(String[] args) {

         Scanner scan = new Scanner(System.in);

         System.out.println("请输入1个不多于5位的正整数");

         int x = scan.nextInt() ;

         if(x>=100000) {

                  System.out.println("您的输入有误");

         }else{

         String y = String.valueOf(x);

         int z = y.length();

         System.out.println("您输入的数为"+z+"位数");

         switch(z){

                  case 1:

                          System.out.println("每一个数分别为"+x);

                          break;

                  case 2:

                          System.out.println("每一个数分别为"+x/10+","+x%10);

                          break;

                  case 3:

                          System.out.println("每一个数分别为"+x/100+","+(x%100)/10+","+x%10);

                          break;

                  case 4:

                          System.out.println("每一个数分别为"+x/1000+","

+ (x%1000)/100+","+(x%100)/10+","+x%10);

                          break;

                  default:

                          System.out.println("每一个数分别为"+x/10000+","+(x%10000)/1000

                          +","+(x%1000)/100+","+(x%100)/10+","+x%10);

                  }

         }

}

}

练习7:假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。

public class demo4{

public static void main(String[] args) {

         int sal = 30000 ;

         int sum = 0;            

         for(int i=1;i<=10;i++){          

                  sal =(int) (sal*(1+0.06)) ;          

                  sum += sal;      

         } System.out.println("10年后的年薪为"+sal+"元\t10年总工资为"+sum+"元");

}

}

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

public class demo4{

public static void main(String[] args) {

         int a = 1;        

         for(int i=2; i<=10; i++) {         

                   a = (a+1)*2;        

         } System.out.println("猴子第一天摘了 " + a + " 个桃子");  

}

}

练习9:由命令行输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321

import java.util.Scanner;

public class demo4{

         public static void main(String[] args) {

                  Scanner scan = new Scanner(System.in);

                  System.out.println("请输入1个4位整数");

                  int x = scan.nextInt() ;

                  if(x>=10000 || x<1000){

                          System.out.println("您的输入有误");

                  }else{

                          int q = x/1000 ;

                          int b = (x%1000)/100 ;

                          int s = (x%100)/10 ;

                          int g = x%10 ;

                          System.out.println("原数为:"+x+"\t反转后为:"+g+s+b+q);

                  }

         }      

}

练习10:求循环式子2+22+222+2222+22222的和,若第?个式子为p,则后一个式子p=p*10+2

public class demo1{

         public static void main(String[] args) {

                  int p = 0 ;

                  int sum = 0 ;

                  for(int i=1;i<=5;i++) {

                          p = p*10 + 2 ;

                          sum = sum + p ;

                  }System.out.println(p+"\t和为"+sum); 

         }

}

练习11:在一个图书系统的推荐图书列表中保存了50条信息,现在需要让它每行显示10条,分5行显示,请使用do…while实现

public class demo1{

         public static void main(String[] args) {

                  int b = 1 ;

                  do{

                          int a = 1 ;

                          do{

                                   System.out.print("这是第"+b+"行的第"+a+"条信息 ");

                                   a++ ;

                          }while(a<=10);

                          b++ ;

                          System.out.println();

                  }while(b<=5);

         }

}

         int a = 0;

         do{

                  a++;

                  if((a-1)%10==0){

                          System.out.println();

                  }System.out.print("这是第"+a+"条信息,");

         }while(a<50);

         int a = 1;

         do{

                  System.out.print("这是第"+a+"条信息 ");

                  if(a%10==0){

                          System.out.println();

                  }a++;

         }while(a<=50);

练习12:学生输入6门成绩,若录入的成绩为负则跳出循环;若录入了6门合法成绩,则就算总成绩。

import java.util.Scanner;

public class demo1{

         public static void main(String[] args) {

                  int sum = 0;

                  for(int a=1;a<=6;a++){

                  Scanner scan = new Scanner(System.in);

                  System.out.println("请输入每月销量");

                  int x = scan.nextInt() ;

                  sum += x ;

                  }System.out.println("总销量为"+sum); 

         }

}    //没实现跳出循环,不计算总成绩

import java.util.Scanner;

public class demo1{

         public static void main(String[] args) {

                  int sum = 0;

                  boolean flag = true ;

                  for(int a=1;a<=6;a++){

                  Scanner scan = new Scanner(System.in);

                  System.out.println("请输入第"+a+"门课程成绩");

                  int x = scan.nextInt() ;

                  if(x<0){

                          flag = false ;

                          break;

                  }sum += x ;

                  }if(flag){

                          System.out.println("总成绩为"+sum);

                  }else{

                          System.out.println("输入成绩不合法,退出");

                  }

         }

}

练习13:九九乘法表

public class demo20{

         public static void main(String[] args) {

                  System.out.println("java九九乘法表");

                  for(int a=1;a<=9;a++){       //代表行数

                          for(int b=1;b<=a;b++){   //代表每行的个数

                                   System.out.print(a+"*"+b+"="+(a*b)+"  ");

                          }System.out.println();

                  }

         }

}

练习14:*型三角形的各种形式

public class demo21{

         public static void main(String[] args) {

                  System.out.println("java杨辉正直角三角形");

                  for(int a=1;a<=9;a++){       //代表行数

                          for(int b=1;b<=a;b++){   //代表每行的个数

                                   System.out.print("*");

                          }System.out.println();   //每执行完一行,换行

                  }

         }

}

                  System.out.println("java杨辉正直角三角形");

                  for(int a=1;a<=9;a++){       //代表行数

                          for(int b=1;b<=a;b++){   //代表每行的个数

                                   System.out.print("*");

                          }System.out.println();   //每执行完一行,换行

                  System.out.println("java杨辉倒直角三角形");

                  for(int a=9;a>=1;a--){       //代表行数

                          for(int b=a;b>=1;b--){   //代表每行的个数

                                   System.out.print("*");

                          }System.out.println();   //每执行完一行,换行

                  System.out.println("java杨辉正等腰三角形");

                  for(int a=1;a<=9;a++){       //代表行数

                          for(int b=9;b>=a;b--){   //代表每行的空格个数

                                   System.out.print(" ");

                          }for(int c=1;c<2*a;c++){  

//代表每行的*个数,首行1个*,下一行比上一行多2个*

                                   System.out.print("*");

                          }System.out.println();   //每执行完一行,换行

                  System.out.println("java杨辉倒等腰三角形");

                  for(int a=9;a>=1;a--){       //代表行数

                          for(int b=9;b>=a;b--){   //代表每行的空格个数

                                   System.out.print(" ");

                          }for(int c=2*a;c>1;c--){   //代表每行的*个数

                                   System.out.print("*");

                          }System.out.println();   //每执行完一行,换行

                  System.out.println("java杨辉正等腰三角形");

                  for(int a=1;a<=9;a++){       //代表行数

                          for(int b=9;b>=a;b--){   //代表每行的空格个数

                                   System.out.print(" ");

                          }for(int c=1;c<=a;c++){

                                   System.out.print("*");

                                   System.out.print(" ");

                          }System.out.println();   //每执行完一行,换行

System.out.println("java杨辉倒等腰三角形");

                  for(int a=9;a>=1;a--){       //代表行数

                          for(int b=9;b>=a;b--){   //代表每行的空格个数

                                   System.out.print(" ");

                          }for(int c=a;c>=1;c--){   //代表每行的*个数

                                   System.out.print("*");

                                   System.out.print(" ");

                          }System.out.println();   //每执行完一行,换行

练习15:java小计算器

import java.util.Scanner;

public class demo5{

         public static void main(String[] args) {

                  Scanner scan = new Scanner(System.in);

                  System.out.println("请输入第一个数字");

                  double a = scan.nextDouble() ;

                  System.out.println("请输入运算符");

                  String x = scan.next() ;

                  System.out.println("请输入第2个数字");

                  double b = scan.nextDouble() ;

                  switch(x){

                  case "+":

                          System.out.println(a+x+b+"的结果为"+(a+b));

                          break ;

                  case "-":

                          System.out.println(a+x+b+"的结果为"+(a-b));

                          break ;

                  case "*":

                          System.out.println(a+x+b+"的结果为"+(a*b));

                          break ;

                  case "/":

                          if(b!=0){

                                   System.out.println(a+x+b+"的结果为"+(a/b));

                                   break ;

                          }else{

                                   System.out.println("分母不能为0");

                                   break ;

                          }

                  case "%":

                          System.out.println(a+x+b+"的结果为"+(a%b));

                          break ;

                  default:

                          System.out.println("不支持此运算");

                  }

         }

}

 

练习16:收银台结账,如果购买商品数量≥10,且金额≥1000,就给他打九折,最后计算出他的应付金额

import java.util.Scanner;

public class demo6{

         public static void main(String[] args) {

                  Scanner scan = new Scanner(System.in);

                  int num = 0 ;   //表示数量

                  double sum = 0 ;   //表示总金额

                  double money = 0 ;  //每次输入的金额

                  System.out.println("请输入第1件物品金额");

                  money = scan.nextDouble() ;

                  while(money!=0){    

//输入金额为0时,跳出循环,代表收银台扫码标签完成,没有货物需要结账了

                          num++ ;

                          sum += money ;

                          System.out.println("请输入第"+(num+1)+"件物品金额");

                          money = scan.nextDouble() ;

                  }

                  if(num>=10 && sum>=1000){

                          sum = sum*0.9 ;

                  }System.out.println("应付金额为"+sum);

         }

}  //while循环前,需要录入一个金额money,才可进入循环

//while循环前录入的金额,会进入总金额;while前的第一次输入,也会算进去,因为最后一次始终会输入0。

练习17:常用图形面积计算器

import java.util.Scanner;

public class demo8{

         public static void main(String[] args) {

                  Scanner scan = new Scanner(System.in);

                  double s = 1 ;

                  System.out.println("请输入图形形状");

                  String tx = scan.next() ;

                  switch(tx){

                  case "长方形":

                          System.out.println("请输入长方形的长度为多少厘米");

                          double c = scan.nextDouble() ;

                          System.out.println("请输入长方形的宽度度为多少厘米");

                           double k = scan.nextDouble() ;

                          s = c*k ;

                          System.out.println("长方形面积为"+s+"平方厘米");

                          break ;

                  case "圆形":

                          System.out.println("请输入圆形的半径为多少厘米");

                          double r = scan.nextDouble() ;

                          s = 3.14*r*r ;

                          System.out.println("圆形面积为"+s+"平方厘米");

                          break ;

                  case "三角形":

                          System.out.println("请输入三角形的底为多少厘米");

                          double d = scan.nextDouble() ;

                          System.out.println("请输入三角形的高为多少厘米");

                          double h = scan.nextDouble() ;

                          s = d*h*0.5 ;

                          System.out.println("三角形面积为"+s+"平方厘米");

                          break ;

                  default:

                          System.out.println("对不起,不支持此图形");

                  }

         }

}

作者:kerwin-chyl

文章链接:https:////www.cnblogs.com/kerwin-chyl

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利

猜你喜欢

转载自www.cnblogs.com/kerwin-chyl/p/12537088.html