前提
PaizaラーニングでC#の演習問題で、「半角スペース区切りでの出力」をやっていますが、解けず詰まっています。
グーグルで検索して見てみても、あまり腑に落ちるサイトが見つかりませんでしたの質問させていただきました。
実現したいこと
整数n回分だけ半角スペース区切りで「paiza」と出力するようにしたい
↓出力はこのような感じです
paiza paiza
発生している問題・エラーメッセージ
Main.cs(15,22): error CS0136: A local variable named `data' cannot be declared in this scope because it would give a different meaning to `data', which is already used in a `parent or current' scope to denote something else
該当のソースコード
using System; class Program { static void Main() { // 自分の得意な言語で // Let's チャレンジ!! int data = int.Parse(Console.ReadLine()); string paiza = ""; for(int i = 0; i < data; i++) { paiza = "paiza "; string[] data = paiza.Split(' '); Console.Write(paiza); } } }
試したこと
C#入門編4の「Splitで文字列を分割する」の動画を参考
参考サイト(Qiita)
参考にしている動画やページは、空白区切りの文字列を分解する方法ですが、あなたのしたいのは逆でしょう?
自分でも意味がわかってないテキトーに書いたコードを丸投げするのは止めましょう。
> PaizaラーニングでC#の演習問題で、「半角スペース区切りでの出力」をやっていますが
こういう場合はマナーとして、ちゃんと引用元のURLを提示しましょう。こちらでしょうかね。
[半角スペース区切りでの出力] https://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_std_in_out_step5
ググるまでも無く、n回の繰り返しの途中か終わりかで半角スペースを出力するかどうか制御するようなコードを考えられるかが求められているのだと思います。既に回答や指摘をいただいていますが、何となくコードを書き進めるのは止めましょう。出力さえ合っていれば良いので、Linq使ってもできるでしょうけど。
まずは「1回出力するだけ」を作ってみるべきと見える.
それができたら,「1回出力する」ための記述をてきとーに複数個書き並べて複数回連続で出力することを実現し,その出力結果の様子(繋がっている)を見て,間に空白を入れる方法を検討→実現する.
「指定された個数だけ空白区切りで出力」は以上ができてから取り組むのが良かろう.
…っていう感じで1歩ずつ着実に進めていくべき.常に次のステップを見据えて小刻みに学んでいけば「Splitがどうの」とかいうような無関係なゴミが唐突に入り込む余地はないであろう,と思う.
基礎からやりましょう。
質問の仕方が悪く、大変申し訳ありませんでした。また新たな質問をするときは、公式のある質問するときのヒントをもう一度確認してから質問するように心掛けます。
(質問の仕方 ではなくて 取り組み方/学習の進め方 の問題だと思う)
回答3件
あなたの回答
tips
プレビュー