小言_互联网的博客

Java之---流程控制语句练习题01

458人阅读  评论(0)


  
  1. import java.util.Scanner;
  2. class demo3_1{
  3. public static void main(String[] argus){
  4. Scanner scanner= new Scanner(System.in);
  5. System.out.print( "请输入a b c:");
  6. double a=scanner.nextDouble();
  7. double b=scanner.nextDouble();
  8. double c=scanner.nextDouble();
  9. double delt=b*b- 4*a*c;
  10. if(delt> 0){
  11. double r1=(-b + Math.sqrt(delt))/( 2*a);
  12. double r2=(-b - Math.sqrt(delt))/( 2*a);
  13. System.out.printf( "r1=%.2f,r2=%.2f",r1,r2);
  14. } else if(delt== 0){
  15. double r=(-b + Math.sqrt(delt))/( 2*a);
  16. System.out.printf( "r=%.2f",r);
  17. } else{
  18. System.out.printf( "没有实数解!");
  19. }
  20. }
  21. }

 


  
  1. import java.util.Scanner;
  2. class demo3_2{
  3. public static void main(String[] args){
  4. Scanner scanner= new Scanner(System.in);
  5. System.out.println( "Enter a,b,c,d,e,f:");
  6. double a=scanner.nextDouble();
  7. double b=scanner.nextDouble();
  8. double c=scanner.nextDouble();
  9. double d=scanner.nextDouble();
  10. double e=scanner.nextDouble();
  11. double f=scanner.nextDouble();
  12. double A=(a*d-b*c);
  13. double B=(e*d-b*f);
  14. double C=(a*f-e*c);
  15. double x;
  16. double y;
  17. if(A!= 0){
  18. x=B/A;
  19. y=C/A;
  20. System.out.println( "x is" + x + " and y is" + y);
  21. } else{
  22. System.out.println( "方程式无解");
  23. }
  24. }
  25. }

 

分析:

数据:今天的周几  未来的天数 未来的周几

       (0+12)%7=5

       (今天的周几+未来的天数)%7=未来的周几

步骤:

1.输入今天是周几

2.输入未来的几天

3.打印未来的几天是周几

 


  
  1. import java.util.Scanner;
  2. class demo3_3{
  3. public static void main(String[] argus){
  4. //1.
  5. Scanner scanner= new Scanner(System.in);
  6. System.out.print( "今天是周几:");
  7. int today=scanner.nextInt();
  8. //2.
  9. System.out.print( "未来的几天:");
  10. int future=scanner.nextInt();
  11. //3.
  12. int futureDay=(today+future)% 7;
  13. String todayStr= "";
  14. String futureDayStr= "";
  15. if(today== 0){
  16. todayStr= "周日";
  17. } else if(today== 1){
  18. todayStr= "周一";
  19. } else if(today== 2){
  20. todayStr= "周二";
  21. } else if(today== 3){
  22. todayStr= "周三";
  23. } else if(today== 4){
  24. todayStr= "周四";
  25. } else if(today== 5){
  26. todayStr= "周五";
  27. } else if(today== 6){
  28. todayStr= "周六";
  29. }
  30. if(futureDay== 0){
  31. futureDayStr= "周日";
  32. } else if(futureDay== 1){
  33. futureDayStr= "周一";
  34. } else if(futureDay== 2){
  35. futureDayStr= "周二";
  36. } else if(futureDay== 3){
  37. futureDayStr= "周三";
  38. } else if(futureDay== 4){
  39. futureDayStr= "周四";
  40. } else if(futureDay== 5){
  41. futureDayStr= "周五";
  42. } else if(futureDay== 6){
  43. futureDayStr= "周六";
  44. }
  45. System.out.printf( "今天是" + todayStr + ",未来的日子是" + futureDayStr );
  46. }
  47. }

 

 

 

 

 

分析:

12345

12345%10=5 12345/10=1234

1234%10=4  1234/10=123

123%10=3   123/10=12

12%10=2    12/10=1

1%10=1     1/10=0

54321

5*10000+4*1000+3*100+2*10+1

(5*1000+4*100+3*10+2)*10+1

((5*100+4*10+3)*10+2)*10+1

(((5*10+4)*10+3)*10+2)*10+1

((((0*10+5)*10+4)*10+3)*10+2)*10+1

 

sum=0

sum=sum*10+5;   //5

sum=sum*10+4;   //54

sum=sum*10+3;   //543

sum=sum*10+2;   //5432

sum=sum*10+1;   //54321

 


  
  1. import java.util.Scanner;
  2. class demo3_4{
  3. public static void main(String[] args){
  4. //1.输入一个数字
  5. Scanner scanner= new Scanner(System.in);
  6. System.out.print( "请输入一个数字:");
  7. int num=scanner.nextInt();
  8. int temp=num; //给num备份
  9. //2.拼接出该数字的反序
  10. int sum= 0;
  11. sum=sum* 10+num% 10;
  12. num/= 10;
  13. sum=sum* 10+num% 10;
  14. num/= 10;
  15. sum=sum* 10+num% 10;
  16. num/= 10;
  17. /* sum=sum*10+num%10;
  18. num/=10;
  19. sum=sum*10+num%10;
  20. num/=10;
  21. sum=sum*10+num%10;
  22. num/=10;*/
  23. if(sum==temp){
  24. System.out.println( "是回文");
  25. } else{
  26. System.out.println( "不是回文");
  27. }
  28. }
  29. }

 

 

分析:

数据:电脑随机产生的一个数字com 用户输入的一个数字usr

    0 1 2

    剪刀 石头 布

步骤:

1.提示用户输入一个数字

2.计算机随机产生一个数字

3.将两个数字进行对比,分输赢

    平局  com==usr

    用户赢 usr=0 com=2 | usr=1 com=0 | usr=2 com=1

    用户输 剩下的都是用户输

 

随机数

    Math.random() [0,1.0)*3 -> [0,3.0)->(int)[0,3.0)

    Random nextInt(n)

    本题使用: int num=(int)(Math.random()*3);

    System.out.println(num);

 


   
  1. import java.util.*;
  2. class demo3_6{
  3. public static void main(String[] args){
  4. //1.
  5. Scanner scanner= new Scanner(System.in);
  6. System.out.print( "请输入 剪刀0 石头1 布2:");
  7. int usr=scanner.nextInt();
  8. //2.
  9. Random random= new Random();
  10. int com=random.nextInt( 3);
  11. String usrStr= "";
  12. String comStr= "";
  13. switch(usr){
  14. case 0: //if usr==0
  15. usrStr= "剪刀";
  16. break;
  17. case 1: // if usr==1
  18. usrStr= "石头";
  19. break;
  20. case 2: // if usr==2
  21. usrStr= "布";
  22. break;
  23. }
  24. switch(com){
  25. case 0:
  26. comStr= "剪刀";
  27. break;
  28. case 1:
  29. comStr= "石头";
  30. break;
  31. case 2:
  32. comStr= "布";
  33. break;
  34. }
  35. //3.
  36. if(usr==com){
  37. System.out.printf( "用户是%s,电脑是%s,平局",usrStr,comStr);
  38. } else if(usr== 0&&com== 2 || usr== 1&&com== 0 || usr== 2&&com== 1){
  39. System.out.printf( "用户是%s,电脑是%s,用户赢",usrStr,comStr);
  40. } else{
  41. System.out.printf( "用户是%s,电脑是%s,用户输",usrStr,comStr);
  42. }
  43. }
  44. }

 

              

 

数据:圆的圆心 圆的半径 点的坐标 距离

步骤:

1.提示用户输入点的坐标

2.计算点到圆心之间的距离

3.判断距离和半径之间的关系

    距离>半径   点在圆外

    距离==半径  点在圆上

    距离<半径   点在圆内


   
  1. import java.util.Scanner;
  2. class demo3_8{
  3. public static void main(String[] args){
  4. //1.
  5. Scanner scanner= new Scanner(System.in);
  6. System.out.print( "请输入坐标点:");
  7. double x=scanner.nextDouble();
  8. double y=scanner.nextDouble();
  9. //2.
  10. double xo= 0;
  11. double yo= 0;
  12. double radius= 10;
  13. double distance=Math.sqrt(Math.pow(x-xo, 2)+Math.pow(y-yo, 2));
  14. //3.
  15. if(distance>radius){
  16. System.out.println( "点在圆外");
  17. } else if(distance==radius){
  18. System.out.println( "点在圆上");
  19. } else{
  20. System.out.println( "点在圆内");
  21. }
  22. }
  23. }

 

 

 

 


转载:https://blog.csdn.net/qq_43276642/article/details/104413877
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场