2017-08-22 8 views
0

私は経験のない新しいプログラマーです。私はSoloLearnと呼ばれるものでC#を学んでいます。私にはとてもうまく教えていますが、ユーザー入力と呼ばれるものに着いたら、それは間違っていました。問題は、コンソールアプリケーションを開いたときに表示されるものがないことです。私のコードはhttp://i.imgur.com/vyfF4N1.pngです。プログラムのすべては、コードの「年齢」の部分を追加するまでうまくいきました。その後、Visual Studioでコンソールを開くと、すべてが空白になりました。助けてください、ありがとう!私はユーザー入力に問題があります

+6

質問の本文にコードを入れてください。 – maccettura

+5

コードを画像として投稿しないでください。テキストなので、質問にコピーして貼り付け、適切にフォーマットしてください。 –

+3

年齢を入力する行を、それを要求する行の後ろに移動する必要があります。 –

答えて

0

Console.WriteLine("How old are you?");

+3

どうすればいいですか、説明できますか?私が学んでいるので、私はその問題が何であるかを知りたいので、将来私はそれを避けることができます。 –

2
ここ

ほとんどの答えは、それが当面の問題を修正する意味では正しい、bの後

int yourAge = Convert.ToInt32(Console.ReadLine());

を入れて基本的なプログラミングについての明確な理解がOPにはないということです。どちらがうまいですか、彼らは初心者だと言ってきましたので、ちょっと違う角度で亀裂を入れましょう。

最初にここにコードを掲載します。 @IcyJake、将来的には、コードの画像にリンクするのではなく、ここにコードを投稿するべきです。

static void Main(string[] args) 
{ 
    string yourName; 
    int yourAge = Convert.ToInt32(Console.ReadLine()); 

    Console.WriteLine("What's your name?"); 
    yourName = Console.ReadLine(); 

    Console.WriteLine("Hello, {0}\n", yourName); 

    Console.WriteLine("How old are you?"); 

    Console.WriteLine("Oh, {1} is a cool number"); 

    Console.ReadLine(); 
} 

プログラムの目的は、ユーザーに名前と年齢を尋ね、その情報をコンソールに書き戻すことです。では、その行動を実装するためにはどうしたらよいですか?それは次のようなものになります。

  1. 入力年齢にユーザを確認して下さい。
  2. 変数にユーザー入力の年齢を取得し、将来の使用のために保持します。
  3. 名前を入力するようにユーザーに依頼します。
  4. 変数にユーザー入力名を取得し、将来使用するために保持します。
  5. 2つの保存された値を使用してメッセージを出力します。

まず、方法Console.ReadLine()の使い方を理解してみてください。それはユーザーがConsoleに何かを入力してENTERキーを押すと、入力されたものを取得してその値を返します。あなたのプログラムでこのような何かを書くことだったのであれば:

string input = Console.ReadLine(); 

、ユーザが入力したものは何でも取るとinputという名前文字列変数にそれを保存すること。逆に、Console.WriteLine()はコンソールに何かを表示します。

ここで、あなたのプログラムを見て、私が上で言及したものの順番と異なるところを見てみましょう。

まず、あなたは(ALLコンソール入力はstring形式であり、あなたはそれを変換する必要がある番号として使用する)、およびyourAgeに保存されますコンソールから入力を取り、整数に変換します変数。これはあなたのプログラムがと表示されているように、空白になります。コンソールは単に何かを入力してENTERを押すのを待っています。単にという数字のと入力してEnterキーを押すと、プログラムは次の段階に進みます。次に、名前を尋ねて、変数yourNameに保存します。その後、年齢を聞いても、ユーザーからの入力はありません。最後のメッセージを印刷します。

あなたのプログラム中のSO順序は、(私は上記のものの観点から行われなければならない)、このです:

2.

3.

4.

1.

5.

ご覧のとおり、明らかに問題があります。これを修正するには、私が言及した順序でコードを並べ替えるだけです。あれは;

  1. Console.WriteLine()を使用して、年齢を尋ねるメッセージを印刷します。
  2. Console.ReadLine()を使用してその値を取得し、変数yourAgeに保存します。
    • ここでは、一般に「エラー処理」と呼ばれる処理を行う必要があります。つまり、年齢を問われたときに数値以外の値を入力することを防ぐ必要があります。 @Rafaが提供するリンクを別の答えでここで参照してください。
  3. Console.WriteLine()を使用し、名前を尋ねるメッセージを表示します。
  4. Console.ReadLine()を使用してその値を取得し、yourName変数に保存します。
  5. Console.WriteLine()を使用して、入力値を印刷し直します。

私は意図的にあなたが学習している新しいプログラマとして機能するコードを提供していません。自分自身を試して、自分が何をしているのかを理解することが最善です。


追加情報:

Console.WriteLine()で波括弧の使用がコンソールに変数の内容を印刷することです。たとえば、プログラム内にmyVar1という名前の整数変数があり、値が5であるとします。あなたがいた場合

だから、myVar1が保持している値で{0}を置き換えます

Console.WriteLine("Value = {0}", myVar1);

書き込みます。

あなたは、あなたのプログラムで2つの変数を持ってmyVar1myVar2を言うと、あなたがそれらの両方が書き込まする場合はどのような今

値= 5

:したがって、あなたの出力は次のようになります。同じ行ですか?言ってやるが、あなたは、出力は次のようになりたい:(さんはmyVar1の値が5であるとmyVar2の値が10であると仮定します)

値= 5、私たちは今、何をすればいい10

? 簡単に、あなたはそうのようなあなたのConsole.WriteLine() 2と中括弧を記述します。これはどういう

Console.WriteLine("Values = {0} and {1}", myVar1, myVar2);

は、myVar1の内容で{0}を交換し、myVar2の内容で{1}を交換してください。つまり、コンマの後の最初の変数は{0}、コンマの後の2番目の変数は{1}の代わりになります。したがって、あなたの出力は上記の期待される出力のようになります。

動作をテストして理解することができます。あなたは2つの値を交換したい場合たとえば、あなたはこれを行うことができます:

Console.WriteLine("Values = {0} and {1}", myVar2, myVar1);

今、あなたの出力は次のようになります。

値= 10と5

これはあなたが行くのに役立ちます。より多くのチュートリアルを見つけてプログラミングを続けてください。になるでしょう。また、ブレークポイントを使用したデバッグも、問題が発生したときを把握するのに最適です。

Finall、Stack Overflowに関する。通常、質問を投稿するときは、画像をアップロードする代わりに直接ここにコードをコピーして貼り付けます。また、ここの人々は通常、あなたのために(正当な理由で)コードを書くのは好きではありませんが、あなたを助けてくれることをうれしく思います。それで試してみて、あなたがここで答えを見つけることができない場合、または一般的にはグーグルでお聞きしてください。 そしてこのガイドをHow to create a Minimal, Complete, and Verifiable exampleで読んでください。

幸運を祈る!

関連する問題