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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

5回答

260閲覧

入力の受付かたについて

sankakusan

総合スコア22

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2017/10/13 02:31

編集2017/10/13 02:49

入力のフォーマットがいまいち理解できません。
どなたか解説していただけませんでしょうか。できればjavaでの入力の受付かたをお願いいたします。
以下、問題の入力例になります。

N

p_1 s_1
p_2 s_2

p_N s_N
q t
・1 行目には国の総数を表す整数 N が与えられます。
・続く N 行のうち i 行目 (1 ≦ i ≦ N) には i 番目の国の名前を表す文字列 p_i とその国の現地時刻の世界標準時からの進み(単位:時)を表す整数 s_i がこの順に半角スペース区切りで与えられます。
s_i が負である場合はその絶対値ぶんだけ時刻が遅れていることを表します。
・次の行には投稿を行ったユーザの所在地の国の名前を表す文字列 q と現地時間での投稿時刻を表す文字列 t がこの順に半角スペース区切りで与えられます。
t は 0 埋め二桁の数字で時 = hh、分 = mmとし hh:mm 形式で与えられます。
・入力は合計で N + 2 行であり、入力最終行の最後に改行が 1 つ入ります。

質問の意味が理解できない場合補足いたしますのでどうかお願いいたします。

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

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

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

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

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

KSwordOfHaste

2017/10/13 02:39

paizaではないでしょうか?もしpaizaなら利用規約をよくお読みください。 第12条(禁止行為)(3)ブログ・SNS等の各種媒体(インターネット媒体に限られず、不特定多数が閲覧可能なものを全て含む。)上において、当社がpaizaで出題した問題の内容、当該問題に対する解答、解答へのヒント等の示唆およびカンニング等の不正を助長する内容等を掲載する行為。 本質問は「問題文の一部の記載」をすること「解説してください」「javaでの入力の受け付け方をお願い・・・」といったことは禁止事項に該当すると思います。もしpaizaでないなら利用規約でこうした質問をすることに問題がないかどうかよく確認の上、問題ないならその旨を質問文に明記したほうがよいと思います。
sankakusan

2017/10/13 02:49

質問の内容を変更いたします。
sankakusan

2017/10/13 02:49

ご指摘ありがとうございました。
guest

回答5

0

サンプルが用意されていますよ。
値取得・出力サンプルコード

JAVA

1import java.util.*; 2 3public class Main { 4 public static void main(String args[] ) throws Exception { 5 Scanner sc = new Scanner(System.in); 6 int N = sc.nextInt(); 7 for (int i = 0; i < N; i++) { 8 String s = sc.next(); 9 String[] array = s.split(","); 10 System.out.println("hello = " + array[0] + " , world = " + array[1]); 11 } 12 } 13}

投稿2017/10/16 07:21

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

sankakusan

2017/10/16 08:27

わざわざありがとうございました。 サンプルのようにコードを書いたつもりでしたが うまく受け取れず迷走してしまいました。 ありがとうございました。
guest

0

自己解決

最初にint型の配列とString型の配列を準備することで解決できました。
ご回答いただいた皆さまありがとうございました

投稿2017/10/16 08:24

sankakusan

総合スコア22

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

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

0

その続きに、入力が文字列で標準入力から渡される旨書かれていませんか?
そして、そのあとに標準入力からの値の取得方法も掲載されていませんか?

さもなくば、そもそも問題を理解していないかですね。

投稿2017/10/14 18:17

編集2017/10/16 07:06
swordone

総合スコア20651

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

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

0

書いてあるままなので、なにを解説してほしいかわからない・・・
簡単な部分から理解してみては?

入力は合計で N + 2 行であり

Nが1なら合計で3行というのは、わかります?

続く N 行のうち i 行目 (1 ≦ i ≦ N)

Nが0以下にならないのは、わかります?(Nが0だとiが1以上にならない)

国の名前を表す文字列 p_i とその国の現地時刻の世界標準時からの進み(単位:時)を表す整数 s_i がこの順に半角スペース区切りで与えられます。

ようは、国名と数字が日本 9カナダ -4のような1行でわたされます。

1
p_1 s_1
q t

qtも、そのままですが解説ひつよう?

投稿2017/10/13 11:59

momon-ga

総合スコア4820

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

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

sankakusan

2017/10/14 13:29

返答が遅くなり申し訳ございません ご回答いただきありがとうございます。 『この順に半角スペース区切りで与えられます。』 つまるところ上記のカッコの部分の受け取りかたがわからないのだと気づきました よろしければご教授願えればとおもいます。よろしくお願いします。
swordone

2017/10/14 14:10 編集

『半角スペース区切り』で「日本 9」の例ですが、もしこれが 『コンマ区切り』なら「日本,9」になり、 『スラッシュ区切り』なら「日本/9」になると言えばわかりますか?
momon-ga

2017/10/16 05:42

結局何がわからないのか、わからないので、わかる部分/ためした部分を質問に追記してください。
sankakusan

2017/10/16 08:30

返答いただきありがとうございました。 splitを用いたコードは理解が足りておらず うまく動作せずどうすればいいのかわからなくなってしまいました これを気に勉強したいとおもいます。
guest

0

前にも別な質問で回答しましたが、「入出力」も、実務を行う上では重要なタスクです。

Readlineのような入力ライブラリや、JavaScriptに乱立するビューライブラリの存在を見れば分かる通り、「入出力をきっちり行うこと」は、時としてシステムでいちばん重要な部分ともなります。

ということで、入力を受け付けること自体も重要な課題であると考えてください。

投稿2017/10/13 02:50

maisumakun

総合スコア145201

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

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

sankakusan

2017/10/13 02:55

そのことに関しては重々理解しているつもりですが、結局理解できずに問題の解決はできないと思いましたので理解するために質問させてもらいました。自分の理解力不足なのは察しております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問