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。

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

相关推荐
咖啡八杯2 小时前
GoF设计模式——解释器模式
java·后端·spring·设计模式
优橙教育2 小时前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
糖果店的幽灵2 小时前
【DeepAgents 从入门到精通】Context Management 上下文管理
java·人工智能·后端·spring·中间件·langgraph·deepagents
腻害兔3 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:字典、短信、邮件、通知——后台系统的“基础设施四件套“!
java·前端·vue.js·产品经理·ai编程
SeaTunnel4 小时前
从 Python Script 地狱到标准化数据集成框架
大数据·开发语言·python·程序员·代码·seatunnel
碎光拾影4 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库
Marst Code5 小时前
(python)2026Plotly 库评估:交互式可视化到底值不值得引入?
开发语言·python
Miao121315 小时前
微服务 API 测试实践:海外某民宿平台如何构建模式驱动测试基础设施
java·开发语言
腻害兔5 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:支付模块 yudao-module-pay,一个让产品经理都看懂的支付中台设计
java·前端·vue.js·产品经理·ai编程
CRMEB系统商城6 小时前
开源自建还是SaaS订阅?算一笔3年经济账
java·大数据·开发语言·开源