Java “简单开关输入”;至于;循环和toLowerCase()方法
我是Java的初学者。我正在做一个简单的切换,用户用文字输入一个数字。对于训练,我添加了一个“For”循环 我的问题是:为什么第一个循环生成默认代码?我应该做两台扫描仪吗?一个用于计数器的取值,另一个用于开关? 为什么文字中的计数器和数字不能正常工作Java “简单开关输入”;至于;循环和toLowerCase()方法,java,Java,我是Java的初学者。我正在做一个简单的切换,用户用文字输入一个数字。对于训练,我添加了一个“For”循环 我的问题是:为什么第一个循环生成默认代码?我应该做两台扫描仪吗?一个用于计数器的取值,另一个用于开关? 为什么文字中的计数器和数字不能正常工作 我知道我可以用表格等来做,但一般来说,这个程序的目的是测试“toLowerCase()”方法。你在检查小写(“三”)和大写(“三”)的字符串。确保它们完全相同,并且不会失败。将案例重新键入: case "one":
我知道我可以用表格等来做,但一般来说,这个程序的目的是测试“toLowerCase()”方法。你在检查小写(“三”)和大写(“三”)的字符串。确保它们完全相同,并且不会失败。将案例重新键入:
case "one":
System.out.println("CHOICE 1");
break;
case "two":
System.out.println("CHOICE 2");
break;
case "three":
System.out.println("CHOICE 3");
break;
case "four":
System.out.println("CHOICE 4");
break;
case "five":
System.out.println("CHOICE 5");
break;
开关语句 在switch子句中,您正在测试一个已转换为小写形式的
字符串。因此,唯一可能匹配的大小写子句是“one”,因为其他子句都包含大写字符
只要正确输入数据,将所有case子句都更改为小写,它就可以工作
case "one":
System.out.println("CHOICE 1");
break;
case "two":
System.out.println("CHOICE 2");
break;
case "three":
System.out.println("CHOICE 3");
break;
case "four":
System.out.println("CHOICE 4");
break;
case "five":
System.out.println("CHOICE 5");
break;
不接受输入
关于程序不接受输入的问题,您必须在调用sck.nextLine()
后调用sck.nextLine()
,请参阅以获取有关原因的详细信息
只需要一个扫描程序。switch语句的约定类似于if-else-if-else链。放置在switch语句括号之间的值将根据switch语句中存在的每种情况进行计算
switch语句:
String condition = "foo";
switch(condition){
case "example":{
}
case "foo":{
}
case "bar":{
}
default:{
}
}
与表达式类似:
if(condition.equals("example")){
}else if(condition.equals("foo")){
}else if(condition.equals("bar")){
}else{
}
请注意,通过将您的输入设置为小写,switch语句将永远不会匹配任何大写
e、 g:
将永远不会计算为true,因为在对“三”进行区分大小写的比较之前,“三”是第一个被降到所有小写的“三”
为什么第一个循环生成默认代码
如中所述,nextInt
不使用换行符。添加对sck.nextLine()的调用设置计数器后的code>
我应该做两台扫描仪吗?一个用于计数器的取值,另一个用于开关
不需要,只需要一个扫描仪
为什么文字中的计数器和数字不能正常工作
首先,您的for
循环条件是iOk,我添加了更改,它工作正常。现在我将尝试使输入单词成为可能,不管它们是大写还是小写。谢谢你的帮助!太多了
package JavaExc;
import java.util.Scanner;
public class JavaStart {
public static void main(String[] args) {
Scanner sck = new Scanner(System.in);
System.out.println("Type loop counter ");
int counter = sck.nextInt();
sck.nextLine();
System.out.println("Counter is: " + counter );
int i;
for ( i = 0; i < counter; i++) {
System.out.println("Type number in words");
String ch = sck.nextLine();
switch (ch.toLowerCase()) {
case "one":
System.out.println("CHOICE 1");
break;
case "two":
System.out.println("CHOICE 2");
break;
case "three":
System.out.println("CHOICE 3");
break;
case "four":
System.out.println("CHOICE 4");
break;
case "five":
System.out.println("CHOICE 5");
break;
default:
System.out.println("Wrong Data");
break;
}
System.out.println("Loops left:\n " + (counter - i - 1) );
}
System.out.println("End of Switch");
}}
包JavaExc;
导入java.util.Scanner;
公共类JavaStart{
公共静态void main(字符串[]args){
扫描仪sck=新扫描仪(System.in);
System.out.println(“类型循环计数器”);
int counter=sck.nextInt();
sck.nextLine();
System.out.println(“计数器为:“+计数器”);
int i;
对于(i=0;i
ch的值是多少?如果你将ch转换成小写,你将永远看不到大写字母。“三”、“四”和“五”的意义是什么?“三”和“三”不一样。Java是区分大小写的,所以请阅读我想转换字符串,不管它是大写还是小写,所以这里是wierd字符串,比如四,五等等。我理解。我想转换字符串,不管它是大写还是小写,并尝试匹配大小写。@m4rtin77继续使用toLowerCase()方法,但请确保代码中的每个大小写都是小写的。在这种情况下,一个最初是大小写混合的字符串将被转换为小写,然后再与您提供的其中一个大小写进行匹配。非常感谢你的解释。
if(condition.equals("example")){
}else if(condition.equals("foo")){
}else if(condition.equals("bar")){
}else{
}
if("tHREE".toLowerCase().equals("tHREE")){
package JavaExc;
import java.util.Scanner;
public class JavaStart {
public static void main(String[] args) {
Scanner sck = new Scanner(System.in);
System.out.println("Type loop counter ");
int counter = sck.nextInt();
sck.nextLine();
System.out.println("Counter is: " + counter );
int i;
for ( i = 0; i < counter; i++) {
System.out.println("Type number in words");
String ch = sck.nextLine();
switch (ch.toLowerCase()) {
case "one":
System.out.println("CHOICE 1");
break;
case "two":
System.out.println("CHOICE 2");
break;
case "three":
System.out.println("CHOICE 3");
break;
case "four":
System.out.println("CHOICE 4");
break;
case "five":
System.out.println("CHOICE 5");
break;
default:
System.out.println("Wrong Data");
break;
}
System.out.println("Loops left:\n " + (counter - i - 1) );
}
System.out.println("End of Switch");
}}