确定正确的数据类型
Determine correct data type
以下代码未编译。
据我了解,应该向 dayCounter 方法传递早期代码中的 dayCheck 整数(这是主要方法?)。在 dayCounter 方法中,这个整数将被称为 dayNumber。字符串 dayName 将根据整数 dayNumber 的值分配一个值。然后 "return dayName;" 行应该 return 字符串 dayName 作为 dayCounter 方法的输出。
我认为问题出在以下行:
return dayName;
或行:
static int dayCounter(int dayNumber) {
我尝试将前者更改为:
static String dayCounter(int dayNumber) {
因为我认为这可能意味着 dayCounter 方法能够 return 一个字符串 - 但这没有帮助。
我知道这是整数和字符串之间的某种混淆。
class WhatDayIsIt {
public static void main (String[] arguments) {
int dayCheck = -1;
if(arguments.length > 0)
dayCheck = Integer.parseInt(arguments[0]);
System.out.println("The day today is " + dayCounter(dayCheck));
}
static int dayCounter(int dayNumber) {
String dayName;
if (dayNumber == -1)
dayName = "No day given";
switch (dayNumber) {
case 1:
dayName = "Monday";
case 2:
dayName = "Tuesday";
case 3:
dayName = "Wednesday";
case 4:
dayName = "Thursday";
case 5:
dayName = "Friday";
case 6:
dayName = "Saturday";
case 7:
dayName = "Sunday";
}
return dayName;
}
}
static int dayCounter(int dayNumber) {
声明您将要 return 一个 int 类型的值,但是您实际上 returning 是 dayName
类型的字符串。将方法定义更改为:
static String dayCounter(int dayNumber){
您还需要更新 switch case,因为没有 break
语句,因此您的值落空了。
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
static String dayCounter(int dayNumber) {
String dayName;
switch (dayNumber) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
case 7:
dayName = "Sunday";
break;
default:
dayName = "No day given";
break;
}
return dayName;
}
将 dayCounter 方法设为 return 字符串:
static String dayCounter(int dayNumber) { ... }
以下代码未编译。
据我了解,应该向 dayCounter 方法传递早期代码中的 dayCheck 整数(这是主要方法?)。在 dayCounter 方法中,这个整数将被称为 dayNumber。字符串 dayName 将根据整数 dayNumber 的值分配一个值。然后 "return dayName;" 行应该 return 字符串 dayName 作为 dayCounter 方法的输出。
我认为问题出在以下行:
return dayName;
或行:
static int dayCounter(int dayNumber) {
我尝试将前者更改为:
static String dayCounter(int dayNumber) {
因为我认为这可能意味着 dayCounter 方法能够 return 一个字符串 - 但这没有帮助。
我知道这是整数和字符串之间的某种混淆。
class WhatDayIsIt {
public static void main (String[] arguments) {
int dayCheck = -1;
if(arguments.length > 0)
dayCheck = Integer.parseInt(arguments[0]);
System.out.println("The day today is " + dayCounter(dayCheck));
}
static int dayCounter(int dayNumber) {
String dayName;
if (dayNumber == -1)
dayName = "No day given";
switch (dayNumber) {
case 1:
dayName = "Monday";
case 2:
dayName = "Tuesday";
case 3:
dayName = "Wednesday";
case 4:
dayName = "Thursday";
case 5:
dayName = "Friday";
case 6:
dayName = "Saturday";
case 7:
dayName = "Sunday";
}
return dayName;
}
}
static int dayCounter(int dayNumber) {
声明您将要 return 一个 int 类型的值,但是您实际上 returning 是 dayName
类型的字符串。将方法定义更改为:
static String dayCounter(int dayNumber){
您还需要更新 switch case,因为没有 break
语句,因此您的值落空了。
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
static String dayCounter(int dayNumber) {
String dayName;
switch (dayNumber) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
case 7:
dayName = "Sunday";
break;
default:
dayName = "No day given";
break;
}
return dayName;
}
将 dayCounter 方法设为 return 字符串:
static String dayCounter(int dayNumber) { ... }