Saya mencoba menulis kode (di visual studio 2012 menggunakan c#) yang memungkinkan pengguna memilih akun menggunakan 1,2,3 atau 4. saya menggunakan loop do- while sehingga saya dapat menggunakan 0 untuk keluar (break? ) atau jalankan perulangan lagi hingga opsi yang valid dipilih.
Masalahnya adalah, Visual studio memberi tahu saya bahwa kode validAccount = true;
tidak dapat dijangkau, dan tidak mengizinkan saya mengujinya. karena metode ini juga harus mengembalikan nilai, saya mengalami kesalahan "tidak semua jalur kode mengembalikan nilai", dan saya menjadi sangat bingung. ini kode saya:
static int chooseAccount() {
bool validAccount = false;
do {
Console.Clear();
Console.WriteLine("Select an Account: \r\n 1: Savings \r\n 2: Debit \r\n 3: Credit \r\n 4: Investment");
int inputNumber = int.Parse(Console.ReadLine()); //by declaring int inputNumber here we save having an extra line.
if ((inputNumber >= 1) && (inputNumber <= 4)) {
return inputNumber;
validAccount = true;
}
else if (inputNumber == 0) {
break;
}
else {
Console.WriteLine("Error: please choose an account using 1, 2, 3, 4 or 0 to exit");
}
} while (!validAccount);
}//end chooseAccount
Mungkin saya sudah terlalu lama menatap ini dan tidak bisa melihat kesalahan sederhana yang telah saya buat. Saya menyambut baik perspektif atau arahan baru agar saya dapat menemukan solusi, seandainya masalah seperti ini sudah terpecahkan. (Agak sulit mencari di Google untuk sesuatu seperti "kode yang tidak dapat dijangkau" ketika kodenya harus sangat spesifik...)
return inputNumber;
tidak akan dieksekusi. Anda tidak perlu menyetel validAccount karena nilainya hilang dari tumpukan saat Anda kembali dari fungsi. - person dcaswell   schedule 06.09.2013