Java 输入a或b打印1输入其他打印0
那出问题了 不管输入啥都只打印0
字符串比较 要用equals,才是 比较的值, == 比较的是地址,只有基本数据类型,可以这样比较
判断条件不对
Scanner sc = new Scanner(System.in);
String n = sc.next();
if (n.equals("a") || n.equals("b")) {
System.out.println(1);
} else {
System.out.println(0);
}
比较字符串的内容是否相等可以使用equals来判断;
如果要使用==来比较的话,可以把变量n的数据类型改为char,然后取输入的字符串的第一个字符赋值给它,然后再与字符'a'或字符'b'来比较。
修改如下:
参考链接:
import java.util.Scanner;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字母");
// 第一种方式
// http://c.biancheng.net/view/5808.html
String n = sc.next();
if(n.equals("a")||n.equals("b")) {
System.out.println(1);
}else {
System.out.println(0);
}
// 第二种方式
// https://blog.csdn.net/qq_40608548/article/details/111315990
// // 如果要使用==,可以把n定义为字符类型,然后取从输入获取的字符串的第一个字符赋值给它
// // 然后使用这个字符来比较是否字符a还是字符b
// char n = sc.next().charAt(0);
// if(n=='a'||n=='b') {
// System.out.println(1);
// }else {
// System.out.println(0);
// }
}
}
**【答案提交】**
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
**【答案】12**
package com.jinglan.exercise;
public class Demo04 {
public static void main(String[] args) {
//求2020的约数的个数
//约数 一个数最大的约数是它本身
//能被2020整除的数就是它的约数
int count=0;
for(int i=1;i<=2020;i++) {
if(2020%i==0) {
System.out.println(i);
count++;
}
}
System.out.println(count);
}
}
【问题描述】
我可以给出如下的解决方案:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
char input = scanner.next().charAt(0);
if (input == 'a' || input == 'b') {
System.out.println("1");
} else {
System.out.println("0");
}
}
}
这段代码通过 Scanner 获取输入的第一个字符,判断是否为 'a' 或 'b',如果是则打印 1,否则打印 0。
如果你在尝试将输入转换为字符串然后再比较时仍然出现问题,可以检查以下几点: