初学JavaDay04——循环语句和判断语句的练习

1.求解以下四种图案

图案1

解题思路:

解决此类题的基本思路,就是先循环行,再循环一行中的数字或者空格

图案1代码

class Home15a{
    public static void main(String[] args){
        for(int i=1;i<=7;i++){        //对每一行进行循环
            for(int k=1;k<=i-1;k++){   //求解每一行的数字
                System.out.print(k);
            }
         
            System.out.println(); //换行
        }       
    }
}

图案2代码

class Home15b{
    public static void main(String[] args){
        for(int i=1;i<=7;i++){
            for(int j=1;j<=7-i;j++){
                System.out.print(j);
        }
            System.out.println();
        }       
    }
}

图案3代码

class Home15c{
    public static void main(String[] args){
        for(int i=1;i<=7;i++){
            for(int j=1;j<=7-i;j++){
                System.out.print(" ");
            }
            for(int k=1;k<=i-1;k++){
                System.out.print(k);
            }
            System.out.println();
        }     
    }
}

图案4代码

class Home15d{
    public static void main(String[] args){
        for(int i=1;i<=7;i++){
            for(int j=1;j<=i-1;j++){
                System.out.print(" ");
            }
            for(int k=1;k<=6 && k+i<=7;k++){
                System.out.print(k);
            }
            System.out.println();
        }     
    }
}

2.彩票游戏

解题思路:

先输入数字,并判断是符合规范,然后用if-else进行选择

import java.util.Random;    //导入产生随机数的包
import java.util.Scanner;

class class05{
    public static void main(String[] args){
        Random random=new Random();              //产生一个随机数
        Scanner sc=new Scanner(System.in);

        int comNumber=random.nextInt(90)+10;
        System.out.print("请输入一个两位数:");   //提示用户输入一个函数
        int userNumber = scanner.nextInt();

        if(userNumber<10||userNumber>99){
            System.out.println("输入错误!程序结束。");//判断输入的数字的范围
            return;
        }
        int comNumberA=comNumber/10;                 //将输入的数字分开
        int comNumberB=comNumber/10;        
        int userNumberA=userNumber/10;
        int userNumberB=userNumber/10;

        if(comNumber==userNumber){                //判断所的奖的类型
            System.out.println("一等奖");
        }else if(comNumberA==userNumberA && comNumberB==userNumberB){
            System.out.println("二等奖");
        }else if(comNumberA==userNumberA || comNumberB==userNumberB){
            System.out.println("三等奖");
        }else{
            System.out.println("谢谢惠顾");
        }

    }
}

3.求一元二次方程

 

 

import java.util.Scanner;

class class06{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);   
        System.out.print("请输入a,b,c");           //提示用户输入三个数字
        double a=scanner.nextDouble();
        double b=scanner.nextDouble();
        double c=scanner.nextDouble();
                                                      //计算判别式的值
        double delt=b*b-4*a*c;    
                                                  //根据判别式的值进行分类
        if(delt>0){
            double x1=(-b+Math.sqrt(delt))/(2*a); //有两个实数解
            double x2=(-b-Math.sqrt(delt))/(2*a);
            System.out.println(x1+","+x2);
        }else if(delt==0){
            double x=(-b+Math.sqrt(delt))/(2*a);    //只有一个实数解
            System.out.println(x);
        }else{
            System.out.println("无实数解");
        }
    }
}

4.判断输入的数是否是回文数字

/*
数据:数字
步骤;
1.提示用户输入一个三位的数字userNumber
2.将该利用取余数字拆分
3.将第一个数字和最后一个数字对比
3.如果相同则输出是,反之为否
 */
import java.util.Scanner;
class class07{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a three-digit integer:");
        int digit = sc.nextInt();
        //对数字进行取余
        int fristdigit = digit/100;
        int thirddifit = digit%10;
        //对数字进行比较
        if(fristdigit==thirddifit){
            System.out.println(digit+" is a palindrome");
        }else{
            System.out.println(digit+" is not a palindrome");
        }
    }
}

5.判断是否在圆圈内

 

/*
数据:坐标(x,y)
步骤:
1.提示用户输入坐标的x值和y值
2.将x,y值代入公式,得到一个结果值r
3.判断r的值与10的关系
4.将判断的结果输出
 */
import java.util.Scanner;
class class09{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入坐标的x和y的值");
        //定义x,y,r
        double x=scanner.nextDouble(); 
        double y=scanner.nextDouble();
        double r= Math.sqrt((x*x)+(y*y));
        //判断r与10的关系
        if(r<10 || r==10){
            System.out.println("在圆圈内");
        }else{
            System.out.println("不在圆圈内");
        }

    }
}

 6.

解释思路及其代码

/*
数据:坐标(x,y)
步骤:
1.提示用户输入坐标的值
2.判断x y所在区间
3.若满足则将y(200-x)与 0.5判断,否则输出不在
4.将判断的结果输出
*/
import java.util.Scanner;
class class10{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("输入坐标");
        double x=sc.nextDouble();
        double y=sc.nextDouble();

        //判断x y的区间
        if(x<0||x>200||y<0||y>100){
            System.out.println("不在");
            return;
        }
        double k=y/(200-x);
        if(k>0.5){
            System.out.println("不在");
        }else{
            System.out.println("在");
        }
    } 
}

7.汇率转换

 

import java.util.Scanner;
class class11{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
            //输入美元到人民币之间的汇率
        System.out.print("Enter the exchange rate from dollars to RMB:");  
        double rate = scanner.nextDouble();
        //输入要转换的形式
        System.out.println("Enter 0  to convert dollers to RMB and 1 vice versa:");
        int convert = scanner.nextInt();
             //判断形式
        if(convert==1){
            System.out.println("Enter the RMB amount:");//计算和输出人民币的价值
            double RMB=scanner.nextDouble();
            double RzD=RMB/rate;
            System.out.println(RMB+"yuan is"+RzD+"dollar");
        }else{
            System.out.println("Enter the dollar amount:");//计算和输出美元的价值
            double dollar=scanner.nextDouble();
            double DzR=dollar*rate;
            System.out.println(dollar+"dollar is "+DzR+"yuan");
        }
    }
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值