002 dart刷题
题目1:判断是否为素数,案例为1-30
void main(){
List l1 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30];
for (int i = 0; i<l1.length; i++){if (l1[i] == 1){print("1 不是素数");} else {sushu(l1[i]);}
}
}sushu(int a){var b = 0;for (int i = 1; i<=a; i++){if (a % i == 0 && b <= 2){b += 1;if (b == 3){break;}} else {continue;}}if (b == 3){print('$a 不是素数');} else {print('$a 是素数');}
}
这里要注意的是,首先关于素数,1不算素数,2是素数,这两个需要注意,其他的倒没什么,关于素数,实际上就是只能被其本身和1整除的数,没有其他的,如3,只能被1和3整除,6则不行,除了1和6外,2和3也是。
接下来我们看题,这里我们写了一个函数,由于是只能被其本身和1整除,那么我们该怎么排除其他的呢?很容易想到,我们可以遍历,然后对每个数都除一遍就好啦
sushu函数的逻辑就基于此,通过遍历,然后对每个都进行除法,最后再判断
题目2:根据以下示例对象,找出父类:
小明:年龄:25,性别:男,工作:外卖员
小红:年龄:24,性别:女,工作:外卖员
小刚:年龄:22,性别:男,工作:外卖员
void main(){
Person("小明",25,"男");
Person("小红",24,"女");
Person("小刚",23,"男");
}class Person{String ? name;int ? age;String ? sex;String work = "外卖员";Person(this.name,this.age,this.sex){print("姓名:$name,年龄:$age,性别:$sex,职业:$work");}
}
可以发现,三个人的工作一致,所以工作这个属性可以直接确定
而其他的则各有不同,所以不能固定
题目3:设计一个注册账号相关的,如果用户年龄大于18,则继续注册账号,如果不是,则不能
void main(){
Person p1=Person("zhangsan", 19, "zhangsan_account", "123456"); //创建实例对象
p1.register(p1.age, p1.zhanghaoming, p1.mima); //调用方法
Person p2=Person("lisi", 11, "lisi_account", "123456");
p2.register(p2.age, p2.zhanghaoming, p2.mima);
}class Person{String name; //姓名int age; //年龄String zhanghaoming; //账号String mima; //密码Person(this.name,this.age,this.zhanghaoming,this.mima); //构造函数register(int age,String zhanghaoming,String mima){if (this.age < 18){print("$name,你的年龄小于18岁,不能注册");} else {print("$name,你的年龄大于18岁,可以注册");this.zhanghaoming = zhanghaoming;this.mima = mima;print("注册成功,账号为:$zhanghaoming,密码为:$mima");}}
}
这里我们使用了类,并在里面装了一个注册方法,至于18岁的判断,使用 if 就可以解决
主要的讲解都备注啦,如果还有不懂,可以评论区提问
那么今天就先到这里啦,祝大家天天开心!代码一遍就通!没有debug的烦恼!