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。

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

相关推荐
老星*10 分钟前
AI选股核心设计思路
java·ai·开源·软件开发
kongba00720 分钟前
项目打包 Python Flask 项目发布与打包专家 提示词V1.0
开发语言·python·flask
それども30 分钟前
Comparator.comparing 和 拆箱问题
java·jvm
froginwe1135 分钟前
C 语言测验
开发语言
今夕资源网1 小时前
powershell工具包 安装升级脚本并设置UTF-8 环境快捷方式创建 将powershell的编码默认改为UTF-8
开发语言·utf-8·powershell·utf-8编码·powershell7·powershell5·设置utf-8编码
星晨羽1 小时前
西门子机床opc ua协议实现变量读写及NC文件上传下载
java·spring boot
机器视觉知识推荐、就业指导1 小时前
Qt:真正的门槛不是入门,而是维护
开发语言·qt
hhb_6182 小时前
Dylan 语言核心特性与工程实践深度解析
开发语言·c#
无巧不成书02182 小时前
零基础Java网络编程全解:从核心概念到Socket实战,一文打通Java网络通信
java·开发语言·网络
饭小猿人2 小时前
Flutter实现底部动画弹窗有两种方式
开发语言·前端·flutter