質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

514閲覧

C# 2つのWORDがある1行のReadLineとそのint処理

tsls

総合スコア1

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2023/04/22 06:24

実現したいこと

ここに実現したいことを箇条書きで書いてください。

標準入力で 5 10 という半角スペース区切りのデータが与えられたとき、この乗算をスマートに実現したい。

前提

ここに質問の内容を詳しく書いてください。
(例)
C#の勉強を始めたばかりなのですが以下の程度の知識しかない状況ですがどうにもうまく処理できません。

 ReadLine()を使えば1行データを持ってこれる。
int.Parseを使えば文字列をint型に変えられる。
Split(' ')を使えば5という文字列と10という文字列を配列に格納できる。

発生している問題・エラーメッセージ

 何とか知識を組み合わせてやろうとしても、
ReadLine().Split(' '); とすると変数には格納できず、配列に格納するしかなくなる。
これをint化しようとしても、int.Parse(配列名) という形では使えないというエラーが出る。
配列をやめてReadLine()を変数に代入、その後int化してSplit(' ')しようとすると、intにSplitは使えない、というエラーがでる。

該当のソースコード

C#

1ソースコード 2 3string[] array = Console.ReadLine().Split(' '); 4int[] array2 = int.Parse(array); 5 6または 7int test = int.Parse(Console.ReadLine()).Parse(' '); 8 9### 試したこと 10 11ここに問題に対して試したことを記載してください。 12 13### 補足情報(FW/ツールのバージョンなど) 14 15 16ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YAmaGNZ

2023/04/22 08:13

何をもって「スマート」とするのでしょうか?
退会済みユーザー

退会済みユーザー

2023/04/22 09:17

解決したのであれば、解決に一番役に立った回答にベストアンサーをつけて、このスレッドはクローズしてください。
guest

回答2

0

ReadLine().Split(' '); とすると変数には格納できず、配列に格納するしかなくなる。
string[] array = Console.ReadLine().Split(' ');

そこは上記の通りできてますよね。

これをint化しようとしても、int.Parse(配列名) という形では使えないというエラーが出る。
int[] array2 = int.Parse(array);

それはできないので配列の要素一個づつに分けて(array[0] と array[1])やりましょう。以下のような感じ。

int a = int.Parse(array[0]); int b = int.Parse(array[1]); int result = a * b;

投稿2023/04/22 07:43

編集2023/04/22 09:15
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tsls

2023/04/22 08:40

ありがとうございました! おかげでC#の勉強を続ける気になりました。
guest

0

ベストアンサー

C#

1using System; 2 3public class foo { 4 static void Main(string[] args) { 5 string input = Console.ReadLine(); 6 string[] array = input.Split(' '); // ' 'で分割して 7 int[] array2 = new int[array.Length]; // int配列を準備 8 for ( int i = 0; i < array.Length; ++i ) { // ひとつづつ 9 array2[i] = int.Parse(array[i]); // intに変換 10 } 11 // できたかな? 12 foreach ( int item in array2 ) { 13 Console.WriteLine(item); 14 } 15 } 16}

投稿2023/04/22 07:20

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tsls

2023/04/22 08:40

ありがとうございました! おかげでC#の勉強を続ける気になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問