一大波女生、男生适用的最新鸿蒙练手案例来袭

一大波女生、男生适用的最新鸿蒙练手案例来袭

介绍

以下案例适合刚开始手鸿蒙开发的小伙伴,有大量的最新逻辑锻炼、鸿蒙核心语法、使用最新鸿蒙的@Local、@Computed 等装饰器来完成。

另外,考虑在学习知识的知识时候,优先关注核心功能,所以提供的布局都会适当简化,但是能保证把核心功能展示出来。

每一个案例会点出终点和核心知识,让学习者可以练习完毕,可以得到什么。

学习的路线

  1. 先看效果
  2. 复现效果
  3. 如果有对代码产生的疑问,可以在评论区内直接提出,有疑问,必回复
  4. 如果能帮助到你,就很好了。😄

点击高亮

  1. 练习基本的线性布局
  2. 练习基本的数组使用
  3. 练习列表渲染语法 ForEach
  4. 练习布局中的状态切换 三元表达式
  5. 掌握通用的点击高亮

image

@Entry
@ComponentV2
struct Index {
   
  @Local
  list: string[] = ["小明", "小红", "小黑", "小黄"]
  // 声明一个数字 表示你当前选中的按钮的下标
  @Local
  select: number = 1

  build() {
   
    Column() {
   


      ForEach(this.list, (item: string, index: number) => {
   
        Button(item + "  " + (this.select == index))
          .backgroundColor(this.select == index ? "#ffcd43" : "#007dfe")
          .onClick(() => {
   
            this.select = index
          })

      })
    }
    .width("100%")
    .height("100%")
    .padding({
    top: 100 })

  }
}

待办列表

  1. 新手上手新的编程语言的必做案例 crud - 增删该查
  2. 练习 V2装饰器、@Local、@Computed、事件等
  3. 打通 状态 -> UI 、 UI-> 状态 的一些交互

4

@ObservedV2
class Task {
   
  @Trace task: string = ""
  @Trace isFinished: boolean = false
}


@Entry
@ComponentV2
struct Index {
   
  // 任务列表
  @Local
  list: Task[] = [
  // { task: "数组学习", isFinished: true },
  // { task: "函数学习", isFinished: false }
  ]
  // 输入框输入的内容
  @Local
  inpValue: string = ""

  // 未完成数量

  @Computed
  get statistics() {
   
    let undoneNum = this.list.filter(v =>!v.isFinished).length
    let doneNum = this.list.length - undoneNum
    return [undoneNum, doneNum]
  }

  // 清理已经完成的任务
  onClear = () => {
   
    //   筛选 留下未完成
    this.list = this.list.filter((v =>!v.isFinished))
  }
  // 删除
  onDelete = (index: number) => {
   

    this.list.splice(index, 1)

  }

  build() {
   
    Column() {
   
      Row() {
   
        Button("清理已完成")
          .onClick(this.onClear)
      }

      Row() {
   
        Text(`未完成的数量 ${
     this.statistics[0]}`)
        Text(`完成的数量 ${
     this.statistics[1]}`)
      }
      .width("80%")
      .justifyContent(FlexAlign.SpaceAround)

      Row() {
   
        TextInput()
          .width(200)
          .onChange(value => {
   

            this.inpValue = value
          })
        Button("确认")
          .onClick(() => {
   
            // 熟练 探囊取物!!
            // 先判断当前任务有没有出现过
            const isExit = this.list.some(element => element.task == this.inpValue)
            if (!isExit) {
   
              const p = new Task()
              p.task = this.inpValue
              this.list.push(p)
            }
          })
      }

      ForEach(this.list, (item: Task, index: number) => {
   
        Row() {
   
          Text(item.task)
            .fontColor(item.isFinished ? "#666" : "#000")
            .decoration({
   
              type: item.isFinished ? TextDecorationType.LineThrough : TextDecorationType.None
            })
            .
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你好,我是 C 知道。以下是回答你的问题: 可以使用 Java 编写一个程序来判断全班男生女生人数。首先,需要定义两个变量来存储男生女生的人数,然后通过循环遍历全班学生的性别,每当遇到一个男生就将男生人数加 1,每当遇到一个女生就将女生人数加 1。最后输出男生女生的人数即可。 下面是示例代码: ``` int maleCount = ; // 男生人数 int femaleCount = ; // 女生人数 // 假设学生性别用 1 表示男生,2 表示女生 int[] studentGender = {1, 2, 1, 1, 2, 2, 1, 2, 1, 1}; for (int gender : studentGender) { if (gender == 1) { maleCount++; } else if (gender == 2) { femaleCount++; } } System.out.println("男生人数:" + maleCount); System.out.println("女生人数:" + femaleCount); ``` 希望能对你有所帮助。 ### 回答2: 可以通过以下的Java程序来判断全班男生女生人数: ``` import java.util.Scanner; public class GenderCount { public static void main(String[] args) { // 创建Scanner对象以接收用户输入 Scanner scanner = new Scanner(System.in); // 提示用户输入班级人数 System.out.print("请输入班级总人数: "); int totalStudents = scanner.nextInt(); // 初始化变量 int maleCount = 0; int femaleCount = 0; // 循环询问每个学生的性别,并统计男生女生的人数 for (int i = 1; i <= totalStudents; i++) { System.out.print("请输入第" + i + "个学生的性别(M代表男生,F代表女生): "); String gender = scanner.next(); if (gender.equalsIgnoreCase("M")) { maleCount++; } else if (gender.equalsIgnoreCase("F")) { femaleCount++; } else { System.out.println("性别输入错误。"); i--; // 如果输入错误,则减一重新输入 } } // 输出男生女生的人数 System.out.println("男生人数: " + maleCount); System.out.println("女生人数: " + femaleCount); // 关闭Scanner对象 scanner.close(); } } ``` 使用这段代码,程序会首先要求用户输入班级总人数,然后依次询问每个学生的性别。在每次循环中,判断输入的性别是“M”还是“F”,并分别增加对应的计数器。若输入的性别不是“M”或“F”,则输出错误提示,并重新输入。最后,程序会输出男生女生的人数。 需要注意的是,这段代码假设用户输入为合法并且按照提示进行输入。如果用户输入不合法或不按照提示输入,程序可能会出现错误。为了保证程序的稳定性,可以在代码中添加适当的异常处理机制和输入验证。 ### 回答3: 要编写一个判断全班男生女生人数的Java程序,可以通过以下步骤来实现: 1. 首先,声明并初始化两个变量,一个用于记录男生人数,另一个用于记录女生人数,初始值都为0。 2. 接下来,可以定义一个数组或集合来存储全班学生的性别。可以使用字符串类型来表示性别,例如"男"和"女"。 3. 通过循环遍历每个学生的性别,并根据性别的不同,将人数进行累计。例如,当遍历到一个"男"性别时,男生人数变量加1;当遍历到一个"女"性别时,女生人数变量加1。 4. 在循环结束后,可以打印出男生女生的人数。 以下是一个示例代码: ```java public class ClassGenderCount { public static void main(String[] args) { // 定义并初始化男生女生人数变量 int maleCount = 0; int femaleCount = 0; // 定义学生性别数组 String[] genders = {"男", "女", "女", "男", "男", "女"}; // 遍历每个学生的性别,进行累计 for (String gender : genders) { if (gender.equals("男")) { maleCount++; } else if (gender.equals("女")) { femaleCount++; } } // 打印男生女生的人数 System.out.println("男生人数:" + maleCount); System.out.println("女生人数:" + femaleCount); } } ``` 在上述示例代码中,我们通过遍历学生性别数组,使用if-else条件语句判断每个学生的性别,并根据性别的不同进行人数累计,最后打印出男生女生的人数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值