java第一次作业(二)

先写思路,再写代码,思路清晰,才能写对代码

7-6 求1+2+...+n的和

思路:

运用expression的字符串输出

重点:

expression输出

代码:
复制代码
import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        scanner.close();

        int sum = 0;
        String expression = "";
        for(int i = 1;i<=n;i++)
        {
            sum += i;
            if(i<n){
            expression +=i+"+";
            }
            else{
                expression +=i;
            }

        }

        expression +="="+sum;
        System.out.println(expression);
    }


}
知识点:

expression输出

7-7 数字三角形(上三角)

思路:

充分运用两个for循环,一个掌控行数,一个掌控输出的数字

代码:
复制代码
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = n;
        scanner.close();
        int number = 1; // 当前要输出的数字

       for (int i = 1; i <= n; i++)
        {
            // 输出前置空格,以形成上三角的效果

                System.out.print("");
                // 输出当前层的数字
                for (int k = 1; k <= m; k++) {
                    // 每个数字占四个字符位置,不足部分用空格填充
                    System.out.printf("%4d", number++);
                }
                m--;
                System.out.println(); // 每层输出后换行
        }
    }
}
知识点:

输入

复制代码
 int n = scanner.nextInt();  //输入n
 int m = scanner.nextInt();  //输入m
                             //需要输入两次

数字所占空格

复制代码
for (int k = 1; k <= m; k++) {
                    // 每个数字占四个字符位置,不足部分用空格填充
                    System.out.printf("%4d", number++);
                }

换行

复制代码
 System.out.println(); // 每层输出后换行

7-8 百钱买百鸡

思路:

这种复杂的配凑问题,不要去想枚举去解,充分利用for循环语句

像这题我们就用了两个for循环,让代码自己去配凑,一但成功就输出它

代码(一):
java 复制代码
public class Nain {
    public static void main(String[] args) {
        final int totalMoney = 100; // 总共有100块钱
        final int totalChickens = 100; // 总共有100只鸡

        // 公鸡价格5块一只,母鸡价格3块一只,小鸡三只1块
        for (int male = 0; male <= totalMoney / 5; male++) { // 公鸡数量
            for (int female = 0; female <= totalMoney / 3; female++) { // 母鸡数量
                int chicks = totalChickens - male - female; // 小鸡数量
                int moneySpent = male * 5 + female * 3 + (chicks / 3); // 花费的总钱数

                // 检查是否满足条件:钱数总和是否为100,且小鸡数量是3的倍数
                if (moneySpent == totalMoney && chicks % 3 == 0) {
                    // 输出结果
                    System.out.println(male + "只公鸡," + female + "只母鸡," + chicks + "只小鸡");
                }
            }
        }
    }
}
代码一缺点:

不能控制数字的所占的位置

知识点:

定义变量

java 复制代码
   final int totalMoney = 100; // 总共有100块钱
        final int totalChickens = 100; // 总共有100只鸡
代码(二):
java 复制代码
public class Main{
   public static void main(String[] args){
        final int qian =100;
        final int ji   = 100;
       for(int male=0;male<=qian/5;male++){
            for(int fmale = 0;fmale<=qian/3;fmale++){
                int chk =ji -male-fmale;
                int huaqian = male * 5 +fmale *3 +chk / 3;
                if(huaqian==qian && chk %3==0)
                {
                    System.out.printf("公鸡%2d只,母鸡%2d只,小鸡%2d只",male,fmale,chk);
                    System.out.println();
                }
                
            }
       }
   }


}
代码二优点:

可以控制数字的所占位置

知识点:
java 复制代码
System.out.printf("公鸡%2d只,母鸡%2d只,小鸡%2d只",male,fmale,chk);

控制所占位置

总结:

到这里,java第一次作业就写完了,以后要学习课程跟着走,不落后,从现在开始每两天一题打卡,继续学习java。

不要为了敲代码而敲,主要是学习,总结,进步,收获。

相关推荐
Fcy6483 分钟前
C++ vector容器的解析和使用
开发语言·c++·vector
lingggggaaaa5 分钟前
小迪安全v2023学习笔记(一百三十四讲)—— Windows权限提升篇&数据库篇&MySQL&MSSQL&Oracle&自动化项目
java·数据库·windows·笔记·学习·安全·网络安全
无限进步_13 分钟前
C语言文件操作全面解析:从基础概念到高级应用
c语言·开发语言·c++·后端·visual studio
_OP_CHEN15 分钟前
C++基础:(十五)queue的深度解析和模拟实现
开发语言·c++·stl·bfs·queue·容器适配器·queue模拟实现
起床气23329 分钟前
C++海战棋开发日记(序)
开发语言·c++
迦蓝叶34 分钟前
JAiRouter v1.0.0 正式发布:企业级 AI 服务网关的开源解决方案
java·运维·人工智能·网关·spring·ai·开源
安卓开发者40 分钟前
鸿蒙NEXT应用接入快捷栏:一键直达,提升用户体验
java·harmonyos·ux
APItesterCris41 分钟前
TypeScript 与淘宝 API:构建类型安全的商品数据查询前端 / Node.js 服务
开发语言·php
ftpeak1 小时前
《Cargo 参考手册》第二十一章:Cargo 包命令
开发语言·rust