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

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

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

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

Q&A

解決済

1回答

4173閲覧

c# 入力について

cob0822

総合スコア20

C#

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

0グッド

0クリップ

投稿2015/10/21 08:42

c#初心者です。
以下のような場合にどのようなコードを書けばよいのか分かりません。

・2つの数値をスペース区切り(改行ではない)で入力し、結果として大きい方を出力するような場合
例→ 入力 :3 5
出力 :5

単にint.Parse(System.Console.ReadLine());を用いると(3 5)の入力が得られますが、この状態から2つの数値を比較する方法はあるのでしょうか。

それとも、初めからスペース区切りで入力した2つの数値を個別に読み込む方法が存在するのでしょうか。

基礎的な質問ですが困っているので、回答をお待ちしてます。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Splitを使うと楽です。

string input = "3 5"; var nums = input.Split(' '); foreach(var num in nums) System.Console.WriteLine(num); //3 //5

エラー処理一切考えてませんが書いてみました。

using System; using System.Linq; public class Program{ public static void Main(){ string input = Console.ReadLine(); int max = input.Split(' ').Select(x=>int.Parse(x)).Max(); Console.WriteLine(max); } }

投稿2015/10/21 08:55

編集2015/10/22 10:08
ozwk

総合スコア13528

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

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

cob0822

2015/10/22 09:42

回答ありがとうございました。Spritを用いた以下のコードで目的通り動きました。 using System; class program { static void Main(string[] args) { var n = System.Console.ReadLine(); string i = n.ToString(); char[] c = new char[] { ' ' }; string[] a = i.Split(c); int x = int.Parse(a[0]); int y = int.Parse(a[1]); if (x > y) Console.WriteLine(x); if (y > x) Console.WriteLine(y); Console.ReadLine(); } }
ozwk

2015/10/22 09:53

最大値とりたいならMath.Max(x,y)がありますよ
cob0822

2015/11/09 10:40

大変参考になりました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問