2017-02-21 10 views
0

Каждый раз, когда я запускаю этот код, мои переменные подсчета всегда начинаются с 48. У меня их явно инициализировано на 0. Я предполагаю, что это имеет какое-то отношение к чтению в моей переменной char? Я запихнул ввод ввода как строку и преобразовал его в char?Почему мои счетные переменные не отображают нуль? C#

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using static System.Console; 

namespace CountLowers 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      char choice; 
      int otherCounter = '0'; 
      int lowerCounter = '0'; 

      do 
      { 
       WriteLine("Enter an Upper or Lower Case Charactor"); 
       Write("or Enter the '}' key to stop and view results > "); 
       choice = Console.ReadKey().KeyChar; 

       if (Char.IsLower(choice)) 
       { 
        WriteLine("\n\n\t" + choice + " is a Lower Case Character\n"); 
        lowerCounter = lowerCounter + 1; 
       } 
       else if (choice != '}') 
       { 
        WriteLine("\n\n\tYou did not enter a Lower Case Character\n"); 
        otherCounter = otherCounter + 1; 
       }    
       else 
       { 
        WriteLine("\n\n\tRESULTS\n"); 
        WriteLine("You typed in " + lowerCounter + " Lower Case Charactors"); 
        WriteLine("\nYou typed in " + otherCounter + " Other Charactors"); 
       } 
      } while (choice != '}'); 

      Console.ReadKey(); 
     } 
    } 
} 
+0

'int otherCounter = '0';' как это собирается компилироваться? C# очень строгий, что он не будет скомпилирован, если у него есть ошибка, и это ошибка – Beginner

+2

@Beginner Неявный перевод из 'char' в' int' – Vache

+0

Работает ли это или нет ... Зачем вам это делать? Просто используйте номер ноль. –

ответ

4

Вы используете нулевой символ '0' вместо целого нуля. Удалите одинарные кавычки.

int otherCounter = 0; 
    int lowerCounter = 0; 
+1

Спасибо. Я знаю, что это было что-то простое, что мне не хватало. Я ценю положительное решение. Не знаете, почему другие плакаты не могли быть полезными. (менее грубый) – codeRed

Смежные вопросы