是我问题么??
来源:6-2 编程练习
weixin_慕设计1061308
2020-09-21 13:43:13
7回答
同学你好,
1、变量s是Scanner类型,不能进行求模运算。建议同学按照题目要求写,先定义整型变量n,从键盘接收数据。 再判断n是否是5和7的整数倍。
2、yes和no不是布尔类型,同学应该使用true和false。
参考代码如下:
如果我的回答解决了你的疑惑,请采纳!祝学习愉快~
燕尾猫
2020-11-04
import java.util.Scanner;
public class IntDemo {
public static void main(String[] args) {
// 定义一个整型变量n,并从键盘接收数据
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// if ((n > 0) && (n % 5 == 0) && (n % 7 == 0)) {
// System.out.println("YES");
// } else {
// System.out.println("NO");
// }
//判断n是否同时能被5和7整除,如果满足条件输出yes,否则输出no
String a;
a = (n > 0) && (n % 5 == 0) && (n % 7 == 0) ? "YES" : "NO";
System.out.println(a);
}
}
慕丝1539783
2020-09-22
老师说的没错,三目运算符,前面的变量类型 和 后面的值1、值2的类型必须相同。变量是char类型,后面值1、值2也必须是char类型。变量是String类型,后面值1、值2也必须是String类型。
这个题目,你只是想改一个思路,把if else 替换成三元表达式,那只需要if slse部分替换即可。
if (n % 5 == 0 && n % 7 == 0) { System.out.println("yes"); } else { System.out.println("no"); }
替换成
System.out.println(n % 5 == 0 && n % 7 == 0 ? "yes" : "no");
关键一点,你if else怎么写的,就直接怎么替换。
三目运算符,等号右边,其本质也是一个值,是一个用三目运算符表达出来的值(跟加减乘除表达出来的值一样),可以直接打印输出的。
好帮手慕阿慧
2020-09-22
同学你好,字符型数据是用单引号内有一个字符,如'a'。'yes'和'no'不是字符型数据,因为'yes'和'no'单引号中分别有3个字符,2个字符,不是1个字符。同学可以使用'y','n'。例如:
同学可以回看一下之前的字符型数据课程,课程链接为 https://class.imooc.com/lesson/1347#mid=31554
如果我的回答解决了你的疑惑,请采纳!祝学习愉快
好帮手慕阿慧
2020-09-21
同学你好,不一定是true和false。同学代码中三目运算符的返回值类型应该与接收三目运算返回值的类型一致。
例如:三目运算符返回值是int类型,那么就应该用int类型接收返回值。例如:
祝学习愉快~
weixin_慕设计1061308
提问者
2020-09-21
只能ture 和false 么??那为什么练习题里可以是其他的 就前两道练习题
weixin_慕设计1061308
提问者
2020-09-21
是我布尔型用错了 还是 这里不适合用布尔型
相似问题