2014-09-23 76 views
0
import 'dart:math'; 
import 'dart:io'; 
void main() { 
    int guess; 
    Random rand = new Random(); //create a random number generator 
    int answer = rand.nextInt(100); //gets a random integer from 0 to 99 do { 
    print("Enter your guess:"); 
    String temp = stdin.readLineSync(); //read in from the keyboard guess = int.parse(temp); //convert String to integer 
    if (guess < answer) { 
    print("Too low!"); 
    } else if (guess > answer) { 
    print("Too high!"); 
    } 
} 
while (guess != answer); 
    print("You got it!"); 
} 

出了什麼問題?我刪除}在谷歌飛鏢錯誤

} while (guess != answer); 
print("You got it!"); 

現在在控制檯它說 輸入你的猜測:打破異常:類型的對象的NoSuchMethodError

+0

可以請你加堆棧跟蹤,或者至少在異常被拋出線 – 2014-09-23 14:51:07

回答

1

guess變量總是空,因爲它從未分配(它註釋掉),請嘗試更改您的代碼:

import 'dart:math'; 
import 'dart:io'; 

void main() { 
    int guess; 
    Random rand = new Random(); //create a random number generator 
    int answer = rand.nextInt(100); //gets a random integer from 0 to 99 
    do { 
     print("Enter your guess:"); 
     String temp = stdin.readLineSync(); //read in from the keyboard 
     guess = int.parse(temp); //convert String to integer <-- the assignment is what's missing here 

     if (guess < answer) { 
      print("Too low!"); 
     } else if (guess > answer) { 
      print("Too high!"); 
     } 
    } while (guess != answer); 
    print("You got it!"); 
} 

readLineSynchere您可能想看看相關的問題。

+0

謝謝先生!我是一個白癡:D但即時學習:)有一個美好的一天,你的幫助很好,並且永遠不會被欣賞 – bossk 2014-09-23 15:07:45

+0

C heers @ user2982688,如果您發現這個有用,請考慮將其標記爲答案。 – chridam 2014-09-23 15:10:37

0

我想這是因爲guessnullnull有沒有>/<運營商。
guessnull,因爲您從不指定值。

如果guessanswer是不相等的,這使得一個完美的死循環:

while (guess != answer); 
    print("You got it!"); 
} 
0

哇我失敗了。男人IM累了,似乎我打字的方式馬虎/快離開我的一些在評論代碼:(發現它看到這個帖子感嘆..這是正確的工作代碼

import 'dart:math'; 
import 'dart:io'; 
void main() { 
    int guess; 
    Random rand = new Random(); //create a random number generator 
    int answer = rand.nextInt(100); //gets a random integer from 0 to 99 
do { 
    print("Enter your guess:"); 
    String temp = stdin.readLineSync(); //read in from the keyboard 
guess = int.parse(temp); //convert String to integer 
    if (guess < answer) { 
    print("Too low!"); 
    } else if (guess > answer) { 
    print("Too high!"); 
    } 
} 
while (guess != answer); 
    print("You got it!"); 
} 

的那足夠的學習之後達特爲感謝大家的快速作出迴應,今天看來飛鏢界活躍!

IM去睡覺!有一個偉大的日子