JavaSe基础2022年11月30日学习内容

JavaSe-2022-11-30

每日一句:把命运掌握在自己手中

学习内容:doWhile循环语句、for循环的使用、Scanner和Random工具类

  • doWhile循环语句

    • 先执行判断条件,尽量减少循环次数和嵌套次数、提高效率

      //语句结构
      do{
        //循环体;
      }while(循环条件);
      
      //具体的使用
      int i = 1;
      do{
      	System.out.println(i);
      	i++;
      }while(i<=100);
      
  • for循环的使用

    //乘法口诀表
      for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++) {
          sum = i * j;
          System.out.print(j + "*" + i + "=" + sum + "\t");
        }
       	 System.out.println();
      }
    //打印矩形
       for (int i = 0; i < 5; i++) {
           for (int j = 0; j < 5; j++) {
               System.out.print("*");
            }
              System.out.println();//换行
       }
    //打印平行四边形
       for (int i = 0; i < 5; i++) {
          for (int j = 0; j < 4-i; j++) {
            System.out.print(" ");
          }
          for (int j = 0; j < 5; j++) {
          	System.out.print("*");
          }
          System.out.println();
       }
    //打印菱形
    	Scanner sc = new Scanner(System.in);
        System.out.println("请输入菱形要打印的行数:");
        int n = sc.nextInt();
        for (int i = 0; i < n / 2 + 1; i++) {
            for (int j = 0; j < n / 2 - i; j++) {
                 System.out.print(" ");
             }
            for (int j = 0; j < i*2+1; j++) {
                 System.out.print("*");
            }
               System.out.println();
        }
        for (int i = 1; i < n / 2 +1; i++) {
            for (int j = 0; j < i; j++) {
                System.out.print(" ");
            }
            for (int j = 2*(n/2 - i) + 1; j > 0;j--) {
                System.out.print("*");
            }
             System.out.println();
        }
    
  • Scanner工具类的使用

    • 是java.util包下的一个类,我们可以通过Scanner像控制台输出

      //        创建控制台扫描器
              Scanner sc = new Scanner(System.in);
              System.out.println("请输入字符串:");
              String n = sc.next();
              System.out.println("请输入小数:");
              double d = sc.nextDouble();
              System.out.println("请输入整数:");
              int i = sc.nextInt();
      
  • Random工具类的使用

    • 是java.util包下的一个类,我们可以通过Random来生成随机数

      //创建Random对象
              Random random = new Random();
              int num = random.nextInt();
              System.out.println(num);
      
              num = random.nextInt(100); //0-100
              System.out.println(num);
      
      //        生成20-33随机数的一个号码
              num = random.nextInt(14)+20;
              System.out.println(num);
      
  • 作业:

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TPREJbxl-1669811753660)(郑森冰代码/img/day03作业.jpg)]
  • 代码实现:

    • import java.util.Scanner;
      
      public class Work221130 {
          public static void main(String[] args) {
              Scanner sc = new Scanner(System.in);
              //第一题
              int sum = 0;
              for (int i = 2000; i < 2008; i++) {
                  if((i%4==0 && i%100 != 0) || i%400 == 0){
                      sum += 366;
                  }else{
                      sum += 365;
                  }
              }
              System.out.println("相隔"+sum+"天");
              //第二题
              for (int i = 100; i <= 1000; i++) {
                  int a = i%10;
                  int b = i/10%10;
                  int c = i/10/10%10;
                  if (a*a*a + b*b*b + c*c*c == i){
                      System.out.println("水仙花数为"+i);
                  }
              }
              //第三题
              int sum1 = 0;
              int sum2 = 2;
              for (int i = 1; i <= 100; i++) {
                  if(i%2==0){
                      sum1 += i;
                  }else if(i%2!=0){
                      sum2 -= i;
                  }
              }
              int zonghe = sum1+sum2;
              System.out.println("总和是"+zonghe);
      //        第四题
              for (int i = 2; i <= 100; i++) {
                  boolean flag = true;
                  for (int j = 2; j < i; j++) {
                      if(i % j == 0){
                          flag = false;
                      }
                  }
                  if(flag){
                      System.out.println("1~100的质数:"+i);
                  }
              }
              //第五题
              for (int i = 1; i <= 1000; i++) {
                  int num = 0;
                  for (int j = 1; j <= i/2; j++) {
                      if(i%j == 0){
                          num +=j;
                      }
                  }
                  if(i == num){
                      System.out.println("完数"+num);
                  }
              }
              //第六题
              double dayMoney = 0; //钱的总数
              int count = 1; //每一天
              while(true){
                  dayMoney += 2.5;
                  if(dayMoney >= 100){
                      System.out.println("共花了"+count+"天,花了"+dayMoney+"元");
                      break;
                  }
                  if(count % 5 == 0){
                      dayMoney -= 6;
                  }
                  count++;
              }
              //第七题
             int m = 26;
              int n = 16;
              int x;
              if(m>n){
                  x = m;
              }else{
                  x = n;
              }
              while(m%x != 0 || n%x != 0){
                  x--;
              }
              System.out.println(x);
          }
      }
      

      新手起步,如果有写的不好的地方,敬请谅解。

  • gitee代码仓库地址:https://gitee.com/Zhengsenbing/java-se-basic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值