아마 꽤 멋진 새 질문이지만 여기에 나와 있습니다.클래스/메소드가 올바른 값을 반환하지 않습니다.
나는 이것에 아주 새롭다. 그리고 지금 나는 내가 생각하는 나의 첫번째 논리 문제에 이르렀다.
나에게 Int32 값을 반환해야하는 클래스 + 메서드를 만들었으며, 내 눈에 닿지 않는 최소한의 것을 반환합니다. 나는 또한이 값이 반환되기를 원하지 않는다.
내가 중 하나를 누르면 : 여기
코드입니다 :public static Int32 SetInterval(ConsoleKeyInfo cki)
{
if (cki.Key == ConsoleKey.D1 || cki.Key == ConsoleKey.D2 || cki.Key == ConsoleKey.D3 || cki.Key == ConsoleKey.D4 || cki.Key == ConsoleKey.D5 || cki.Key == ConsoleKey.D6)
{
if (cki.Key == ConsoleKey.D1)
{
return 10000;
}
else if (cki.Key == ConsoleKey.D2)
{
return 20000;
}
else if (cki.Key == ConsoleKey.D3)
{
return 30000;
}
else if (cki.Key == ConsoleKey.D4)
{
return 45000;
}
else if (cki.Key == ConsoleKey.D5)
{
return 60000;
}
else if (cki.Key == ConsoleKey.D6)
{
return 120000;
}
}
else
{
SetInterval(Console.ReadKey());
}
return 50;
}
그리고 여기에 내가 내 메인 클래스 내에서 실행하는 방법입니다
static int interval;
interval = DefineInterval.SetInterval(Console.ReadKey());
Console.WriteLine("");
Console.WriteLine(interval.ToString());
지금 일어나고 무슨 그래서입니다 전에 다른 키를 누르지 않고도 6 자리 숫자를 올바르게 입력 할 수 있습니다. 출력은 정상이며 예상대로입니다. 내가 누를 때
는 다시, 내 키보드의 예 "A6"를 위해 내가 가진 전부입니다
" A6 "
어떤 아이디어? 또한 아마 그런 일을하는 가장 좋은 방법은 아닙니다.
출력 결과는 다음과 같습니다. 'else' 블록에서 SetInterval (Console.ReadKey())를 반환하겠습니까? –
외부 if 문을 제거 할 수 있습니다. 아무 것도하지 않습니다. – Jonesopolis
'switch' 문도 사용하십시오. – arao6