Hejka!
Otóż zrobiłem parę zadań w c++, ale jako że postanowiłem niedawno zmienić język na c# to robię analogiczne problemy w owym języku.
Jednak nastąpił problem w momencie w którym próbowałem zrobić zadanie pt. “Suma”.
Poniżej moja nieprawidłowa implementacja:
using System;
class MainClass {
public static void Main () {
int sum=0, a=0;
string input="placeholder";
while(true){
input=Console.ReadLine();
if(input==string.Empty){
break;
}
a=int.Parse(input);
sum+=a;
Console.WriteLine(sum);
}
}
}
No i już się domyślam że błędnym myśleniem jest to że aby wyjść z pętli nie wystarczy aby linia była “pusta” tylko po prostu musi być jakikolwiek input. Tylko że… Jak to sprawdzić? Znalazłem dwa proste rozwiązania dla C++ i Javy czyli języków które (w teorii) powinny być trochę podobne do c#, ale żadne z tych rozwiązań jak próbowałem nie działało, tzn. while(cin>>a) nie działa nawet jak próbowałem kombinować z jakimiś while(Console.ReadLine()) itd, a także nie znalazłem nawet w internecie żadnej analogicznej metody do javowego “hasNextInt”.
Także chciałbym zapytać, jak ten problem można rozwiązać w CSharpie?
created
last reply
- 1
reply
- 515
views
- 2
users
- 2
links