ここから本文です

C#のプログラミングを独学で学んでる途中なのですがわからないことがあります ...

tom********さん

2018/2/222:06:43

C#のプログラミングを独学で学んでる途中なのですがわからないことがあります

名前と年齢を自分で入力できるようにしたいのですがなぜか何も反応がありません

とりあえず動かないことはわ

かったのですが

なぜ動かないかの理由がわかりません

オブジェクト指向を最近やったばかりの初心者なのですがなぜ反応しないのか教えてもらえませんか?
________________________________________________________
クラス




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

namespace Sample601
{
class Person
{
// 名前(フィールド)
public string name = "";
// 年齢(フィールド)
public int age = 0;
// 情報の表示(メソッド)
public void ShowAgeAndName()
{
Console.WriteLine("名前:{0} 年齢:{1}", name, age);
}

}
}


________________________________________________________
インスタント


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

namespace Sample601
{
class Program
{
static void Main(string[] args)
{
Person p1;
p1 = new Person();
// 一つ目のPersonクラスのメソッドのインスタンスを生成

p1.name = Console.ReadLine();
// フィールドnameに値を代入
p1.age = int.Parse(Console.ReadLine());

// フィールドageに値を代入

p1.ShowAgeAndName();

}
}
}

閲覧数:
127
回答数:
4
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

nor********さん

2018/2/311:29:09

プログラムに問題があるとは思えないのですが…

コンソールの画面を表示した後、すぐに消えてしまうということでしょうか?
その場合、画面には表示されているが、実行が直ちに終了するので、消えてしまうという現象が起きています。
それであれば、コマンドプロンプトを実行し、EXE のパスを直接して実行する方法があります。
もうひとつは、「p1.ShowAgeAndName();」の後に「Console.ReadKey();」と入れてあげることです。それで、ユーザのキー入力があるまで、終了を待たせることが出来ます。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

bas********さん

2018/2/412:49:19

ソースコードからは問題が見えません。

( 知識不足は否定しませんが。 )

他の方もおっしゃっているように、ブレークポイントを立ててチェックするか、
C言語だと printfに相当するやつ ( C# なら Console.WriteLine ) で直接チェックしてみてください。

例えば、

p1.name = Console.ReadLine();



String n = Console.ReadLine();
Console.WriteLine( n );
p1.name = n;

みたいにするとか。

( チェック用ね。 実際にリリースするなら元に戻すけど。 )


後、ソースコードはひたすら読みづらいです。

知恵袋ではインデントは無視されるので、すべて左詰。よって読みづらい。

http://blog.livedoor.jp/crackstars/archives/4518789.html#writecode

また、基本的にフィールドはprivateです。

そのままprivateだとデータを入力したり...って言うのができないので、

get/set ( C# なら プロパティとして用意されているらしい... ) を使います。

そうすれば、『閲覧は可能だけど、変更は不可能ね。』っていう風に限定できたりするし。

http://blog.livedoor.jp/crackstars/archives/848080.html

tao********さん

2018/2/312:54:51

ブレークポイントってのを使うと解決するよ。

yar********さん

2018/2/305:50:14

これはカテ違いやろ!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる