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

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

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

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

Q&A

解決済

2回答

178閲覧

この問題がわからない

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

0グッド

0クリップ

投稿2018/06/01 03:44

編集2018/06/01 08:46

問3:カンマ区切りの文字列から、各項目を取得してデータ項目クラスの配列に格納するプログラムを作成する。

 ・条件:データ項目クラス(DataItem)を作成する。
・条件:データレコード定義を参照すること
・条件:データ項目クラスは、以下の3つのフィールドを持つ
データ名(DataName)、データ種類(DataType)、値(DataValue)

データレコード定義
項目名 行番号 名前 生年月日
データの種類 数値 文字列 日付型
最小 1 1文字
最大 99999 20文字

class DataItem { String [] DataName; int [] DataValue; boolean [] DataType; } public class renshu2_3{ public static void main(String[] args) { } }

ここまでやって、詰まってしまいました。
① DataItemクラスに、配列のフィールドを用意

② カンマ区切りの配列データを用意
③ それを格納              という手順になると考えています。

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

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

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

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

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

ladybird

2018/06/01 04:23 編集

できるところまでコーディングして、それを載せ、「ここが分からない」「こういうエラーになる」などの情報を詳しく記載してください。でないと「丸投げ」という評価になります。また、Eclipseは関係なさそうなのでタグを外された方がよいでしょう。 質問するときのヒント:https://teratail.com/help/question-tips
root_jp

2018/06/01 04:46

別紙を参照することってw
mather

2018/06/01 07:01

mainメソッドが空欄で教えてくださいというのは完全に丸投げです。そもそも何を実現すれば課題が達成できるのかがわからないなら、もっと基礎の部分からやり直したほうがいいのではないかと思います。
guest

回答2

0

ベストアンサー

e-power-maさん

プログラムを勉強されているのですね。これからの日本では需要が高まっていくと思いますので、ぜひ頑張ってほしいです。

さて、恐らく質問がこのままでは、残念ながら望む回答は得られず、お説教ばかりになってしまうかと思います。(私もですが・・)
なぜならば、あなたがこの問題に対してどのように考え取り組み、どこでつっかえてしまったかが他の人に見えないからです。
先生や家庭教師の方はそれを引き出すように頑張ってくれますが、損得の効かない第3者はそこまでしてくれません。そもそもこのサイトがそういった場ではないと規定されています。

ただ、私の気まぐれを動機として、少しアドバイスというか、考え方を提示してみたいと思います。

まず、やるべきことを書き出してみてはどうでしょうか。
問題文は

引用テキストカンマ区切りの文字列から、各項目を取得してデータ項目クラスの配列に格納するプログラムを作成する。

ということですね。
ではやるべきことは、

  1. カンマ区切りの文字列を用意(もしくは取得?)する
  2. 1.の1つの文字列から各項目を分割し取り出す(これを構文解析する、パースすると言いますね)
  3. 2.で取得したデータ項目をクラスの配列に格納する

ではないでしょうか。

あなたはそれぞれに対してどう取り組み、どこで詰まっているのでしょうか?

問題を解決すべき要素に分解し、それぞれに対して対応を考えることで、「どこが分からないか」「なぜわからないか」が見えてきます。
問題を解決すべき要素に分解するためには、自分で目的を達成するまでの「手順」を考えると良いです。

投稿2018/06/01 07:27

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2018/06/01 07:48

課題の丸投げになってしまっていること(そのように見えること)お詫びします。今、勉強し始めてちょうど2週間経ちます。質問を修正しましたので、よろしくお願いします。
退会済みユーザー

退会済みユーザー

2018/06/01 07:59

質問の中で「手順」を明確に書き、それに対してどうするか考えましょう。 これとこれとこれ、ではなく、順序立てて列挙してみてください。 で、最初はおそらくカンマ区切り文字列の取得ですね。 ではプログラムにカンマ区切りの文字列を渡すには、どうしたら良いと思いますか?
退会済みユーザー

退会済みユーザー

2018/06/01 08:56

自分がカンマ区切りで思い浮かぶのが int [] test ={ x, x, x}のような形です。 (スッキリjava,やさしいjavaを勉強して、この問題に取り組んでいます。)
退会済みユーザー

退会済みユーザー

2018/06/01 08:59

int [] test ={ x, x, x}と作った場合、どうやってフィールドと紐づけできるのか、そこがまったくわかりません。
退会済みユーザー

退会済みユーザー

2018/06/01 09:09

いくつか違う点があります。 1.int [] test ={ x, x, x}は、「カンマ区切りの文字列」ではない 「カンマ区切りの文字列」は「配列」でなく「文字列」、つまりStringです。 例えば"1,太郎,20050101"といったものが、「カンマ区切りの文字列」ということだと思います。 これを構文解析することになります。 2.私の質問への回答になっていない 先の私の質問は、「プログラムにカンマ区切りの文字列を渡すにはどうすればよいか」です。「カンマ区切りの文字列とはどういうものか」ではありません。 質問を正しく理解することも、プログラムには非常に大切になってきます。 ちなみにヒントは「引数」です。
退会済みユーザー

退会済みユーザー

2018/06/01 09:38

”質問を正しく理解することも、プログラムには非常に大切になってきます。” →肝に銘じます。ありがとうございます。 引数にString型のカンマ区切りの文字列を入れ、それを配列に渡すということができそうに思います。
退会済みユーザー

退会済みユーザー

2018/06/01 10:04

>引数にString型のカンマ区切りの文字列を入れ、 そうですね。 main(String[] args) 上記の引数argsを通して、プログラムに値を渡すことができますね。 「カンマ区切りの文字列」とはStringなので、このargsの中に入れることができます。 >それを配列に渡すということができそうに思います。 問題はここからです。「配列に渡す」ということはどういうことか。「配列」とは、何の配列か? 前後しますが、あなたが編集した質問の >① DataItemクラスに、配列のフィールドを用意 これは間違っています。DataItemの中に配列フィールドを用意するのではなく、DataItemクラスの配列を用意しなければならないんですね。 なぜなら問題文で「データ項目クラスの配列に」と言っています。「データ項目クラス」=DataItemですので、DataItemの配列、つまりDataItem[]ということになります。 ここら辺は非常に大切な概念で、「型」というものになります。この場合はDataItemが「型」で、これが「レコード」と一対一対応することになります。 では、レコード定義を満たすようなDataItemの型はどういうものになるか、もう一度書けますか?
退会済みユーザー

退会済みユーザー

2018/06/03 10:27 編集

String [ ] str = ( “ 1, name , 2018-6-2 “ ) String [ ] DataItem = str; で渡せると思いました。 お忙しいと思いますが、ご確認いただけると嬉しいです。よろしくお願いします。
退会済みユーザー

退会済みユーザー

2018/06/08 09:24

長らく放置してしまい、申し訳ありません。 そして、これからの回答は期待しているものではないと思います。 そもそも、本問題に取り組まれるには、今少し早いように見受けられます。 この問題について、回答と解説をお持ちでしたら、その解説をよく読んで、分からない部分を調べていくことをお勧めします。 これは良い悪いでなく、問題のレベルとご自身のレベルがミスマッチになってしまっているということであり、あなたを責めているのではありません。 チャレンジはポジティブなことです。しかし、スキーでもいきなりリフトには乗らず、麓で練習するものです。 String [ ] str = ( “ 1, name , 2018-6-2 “ ) 上記はビルドエラーになります。ぜひ、eclipse等のIDEや、javacでのビルドをしてみてください。それを解決しようとあれやこれやすることも力になります。 String [ ] DataItem = str; 上記は問題の前提を受けられていません。DataItemは、「データ名(DataName)、データ種類(DataType)、値(DataValue)のフィールドを持つ」ので、String[]ではありえません。 まずは「型」という概念、Javaのプログラムの動かし方等、基本的なところを身につける必要があります。 やさしいjavaという本を私は存じ上げてはおりませんが、実際に自分でコードを書き、それをビルドし、動かすような訓練はしていますでしょうか? まさに動かさなければ、プログラミングは分かるようにはなりません。 可能であれば、勉強のために有料のサービスを利用してはいかがでしょうか。 「java 勉強」で検索すれば、「自宅で学べる○○」等、いろいろ出てきます。 その場合、「独習」なども出てきますが、それはあまりお勧めできません。今の状態では、間違いなく挫折をします。 きちんとお金を支払い、間違いなくサポートしてくれる状態を作った上で、勉強にとりくんでいただければと思います。 諦めなければ、必ず身につきます。かかる時間は個人個人違い、途中で「無駄だ、自分にはできない」と思うこともあると思います。しかし時間をかけて分かってみれば、「あれはああいうことだったのか」と悟り、それまでが無駄でなかったことが分かるようになります。
退会済みユーザー

退会済みユーザー

2018/08/12 06:37

jjj_aaaさん、やっと問題が解けました。 時間がかかりました。才能がないと思いますが、地道に勉強します。
退会済みユーザー

退会済みユーザー

2018/08/20 01:27

e-power-maさん 時間がかかっても、解ききるというのは非常にポジティブなことです。これは誰にでもできることではありません。 パッと見の「向き不向き」は実際にありますが、「向き」だと思って誰もが信頼している人が致命的な欠陥を作りこむこともあるのがプログラミングの世界です。「不向き」だと思っても、最後は着実に勉強している人が強くなります。 もちろん最終的にお金をもらう場合はある程度のスピードも要求されるため、どうしても作業の高速化が見込めない場合、現実としてプログラミングを諦めざるを得ない場面も出る可能性があります。しかしそれも、実際に立ち向かわなければ判断できないものです。 偉そうに書きましたが、かく言う私自身も作業が早いわけではないし、プログラマとして向いていないのではないかと日夜悩んでいます。それでもこれまでのいろいろな業務を通じて、昔よりは多少マシになっていると思います。上を見ればキリはありません。また固執しすぎると、「人生」そのものを見失います。一歩ずつ、しかし固執しすぎず、頑張っていきましょう。
guest

0

課題・宿題なら自分でやりましょう。

投稿2018/06/01 04:46

m.ts10806

総合スコア80765

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

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

退会済みユーザー

退会済みユーザー

2018/06/01 06:53

コードを記載したので、アドバイスいただけますか。
m.ts10806

2018/06/01 06:59

では真剣にアドバイスをしますと、 これは何も書いてないのと同じです。丸投げ状態から全く抜け出せていません。 この設問にくるまで何を学びましたか? 学んだことで本当に太刀打ちできない内容ですか? 何を学んだのか我々見ている方はなにも知りません。あなたの技術力も知りません。 問題の出所は?出所によってはそこの規約に抵触する可能性もあります。 いずれにしても自身がやるべきものです。学校やなんかの宿題を代行するサイトではありません。 つまり、回答を細かく言っただけですけどね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問