C# C# Basics If Statements "else if" and "else" Statements

Austin Stewart
Austin Stewart
2,662 Points

I really can't figure out where im going wrong on this code..

Program.cs
using System;

class Program
{

    static string CheckSpeed(double speed)
    {
        if (speed > 65)
        {
       Console.WriteLine("too fast");
        }
        else if (speed < 45)
        {
        Console.WriteLine ("too slow");
        }
        else 
        {
       return 
           Console.WriteLine("speed OK");
        }
    }

    static void Main(string[] args)
    {
        // This should print "too slow".
        Console.WriteLine(CheckSpeed(44));
        // This should print "too fast".
        Console.WriteLine(CheckSpeed(88));
        // This should print "speed OK".
        Console.WriteLine(CheckSpeed(55));
    }

}
stevenandreatch
stevenandreatch
3,513 Points

Your code is very close, but the question is asking you to return a string with the method, not to write to the console. All of the paths in the "if" statement should have a return ("string text goes here");

3 Answers

Austin Stewart
Austin Stewart
2,662 Points

so put return in place of Console.WriteLine??

Traian Butaru
Traian Butaru
5,451 Points

You can’t return Console.WriteLine(in else you do that). You either Console.WriteLine or you return something(like a bool,int, String, Object). Based on your method signiture, you want to return a String.

static String checkSpeed(double speed)

In each if/else statement return a string.

Mark Warren
Mark Warren
18,694 Points
    {
        if (speed < 45) {
            return ("too slow");
        }
        else if (speed > 65) {
            return ("too fast");
            }
        else {
            return ("speed OK");
            }
    }