2 / 2
May 2021

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

    May '21
  • last reply

    May '21
  • 1

    reply

  • 515

    views

  • 2

    users

  • 2

    links