dowhile练习,关于string和char的使用
韩顺平老师的java基础课程的题目:
使用do…while完成
一开始打算用char来定义变量的y、n值,后来发现不会。
改用string。
代码如下:
package hsp_java;
import java.util.Scanner;
public class doWhileExercise02 {
public static void main(String[] args) {
String a = "n";
Scanner scanner = new Scanner(System.in);
do{
System.out.println("老汉问:还钱吗?y/n");
a = scanner.next();
if(a.equals("y")){
System.out.println("谢谢");
} else{
System.out.println("还钱!");
}
}while (a.equals("n"));
}
}
后来看老师给的答案,发现用char也可以做。
但有些不一样的地方。
简单记录一下:
(1):输入字符串用scanner.next()
,输入字符要在他后面加上charAt(0)
,其中的0代表的是索引的下标,也就是字符串的第一个。
示例:
package hsp_java;
public class dowhileExercise02CharAt {
public static void main(String[] args) {
String str = "yes";
String str2 = "no";
char char1 = str.charAt(0);
char char2 = str2.charAt(0);
System.out.println(char1);
System.out.println(char2);
}
}
结果:
(2)String可以用equals方法。而char貌似不行,在idea里面报错了。
char直接判断是否等于就可以。
示例:
package hsp_java;
import java.util.Scanner;
public class doWhileExercise03 {
public static void main(String[] args) {
char a = 'n';
Scanner scanner = new Scanner(System.in);
do{
System.out.println("老汉问:还钱吗?y/n");
a = scanner.next().charAt(0);
if(a == 'y'){
System.out.println("谢谢");
} else{
System.out.println("还钱!");
}
}while (a == 'n');
}
}
完毕,如有不足,望指正。