2013-10-12 109 views
0

我非常確定我擁有所有權利。我在想,不知怎的,我的語法是錯誤的,但我沒有運氣試圖向谷歌,爲什麼它是錯的。這裏是我的代碼:是我不明白爲什麼我收到以下錯誤

namespace Exercise1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Values aValue = new Values(); 

      //set array 
      int[] number = new int[12]; 

      //ask user for input 
      Console.WriteLine("Please enter a value between 0 and 10: "); 
      aValue.InValue = Console.ReadLine(); //Read input 
      aValue.IntValue = int.Parse(aValue.InValue); //convert string to int 

      while (aValue.IntValue != -99) //user has not stopped program 

       if (aValue.IntValue > 10 || aValue.IntValue < 0) //valid value 
        Console.WriteLine("Thank you! Please enter '-99' when you are ready to finsih."); 
      aValue.InValue = Console.ReadLine(); //read input 
      aValue.IntValue = int.Parse(aValue.InValue); //convert string to int 
      number[aValue.IntValue]++; //add input to corresponding array box 

????  else 
       Console.WriteLine("You have entered an invalid value."); 
      aValue.InvalidValueCount()++; 

      namespace Exercise1 
      { 
       class Values 
       { 
        private string inValue; 
        public string InValue { get; set; } 

        private int intValue; 
        public int IntValue { get; set; } 

        private int validValueCount; 
        public int ValidValueCount { get; set; } 

        private int invalidValueCount; 
        public int InvalidValueCount() { 
         invalidValueCount = 0; 
         return invalidValueCount; 
        } 
       } 
      } 

錯誤消息如下:

無效表達術語 '其他'
;預期(在「else」之後)
只能使用賦值,調用,增量,減量,等待和新對象表達式作爲語句(在「number[aValue.IntValue]++;」之後)
增量或減量運算符的操作數必須是變量,財產或索引(在「aValue.InvalidValueCount()++;」之後)

感謝您的幫助!

+5

哪裏是你的大括號? – PoweredByOrange

+0

無論何時我將它們放入While循環中,它都會給我一個錯誤。 – me123

+2

你需要''while'和'if'塊的花括號,否則編譯器怎麼知道什麼時候開始/結束塊?這不是Python,塊不是由C#中的縮進決定的。你應該查找一些關於如何在C#中編寫/ if語句的例子。 – PoweredByOrange

回答

1

你需要周圍的代碼塊多花括號後而/ if/else語句

 while (aValue.IntValue != -99) //user has not stopped program 
     { 
      if (aValue.IntValue > 10 || aValue.IntValue < 0) //valid value 
      { 
       Console.WriteLine("Thank you! Please enter '-99' when you are ready to finsih."); 
       aValue.InValue = Console.ReadLine(); //read input 
       aValue.IntValue = int.Parse(aValue.InValue); //convert string to int 
       number[aValue.IntValue]++; //add input to corresponding array box 
      } 
      else 
      { 
       Console.WriteLine("You have entered an invalid value."); 
       aValue.InvalidValueCount()++; // <-- this is your error 
      } 
     } 
+0

我這樣做了,現在我的錯誤如下: 「無效的表達式」else「」 「; expected」(else else) 「只有賦值,調用,遞增,遞減,等待和新的對象表達式可以用作一個語句「(在大括號之前) 和」增量或減量運算符的操作數必須是變量,屬性或索引器「(在」aValue.InvalidValueCount()++;「之後) – me123

+0

不能對函數調用的結果使用增量運算符'++' – Moho

+0

我使aValue.InvalidValueCount()不再是一個函數,並且它工作正常。謝謝你的幫助! – me123

相關問題