确定正确的数据类型

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) { ... }