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

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

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

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

Q&A

解決済

1回答

788閲覧

コマンドラインで入力した文字列をタブ区切りで表示させ、エクセルの各セルに格納する

Xja9b3art

総合スコア8

Java

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

0グッド

0クリップ

投稿2018/07/08 07:27

編集2018/07/08 11:59

JAVAで、コマンドラインで入力した文字列をタブ区切りで表示させ、エクセルの各セルに格納するということをやりたいと思ってます。
具体的には、コマンドラインで引数を与えることによりこんな表をつくりたいのです。
くだもの[TAB区切り]やさい[TAB区切り]さかな[TAB区切り]
みかん[TAB区切り]にんじん[TAB区切り]まぐろ[TAB区切り]
りんご[TAB区切り]とまと[TAB区切り]かわはぎ[TAB区切り]

列は、3列とし、3列入力(さかなで最後)したら、次の行で実データ(みかん)を与えるようなプログラムにしたいです。
何も入力せずにエンターを押した場合は、データがありませんとエラーを吐くようにしたいです。

今日このような課題をあたえられましたが、結局解けませんでした。どうかよろしくお願いいたします。

今こんな状況です

public class Table {

public static void main(String[] args) { for(int i = 0; i < args.length; i++) { String[] field_s = new String[args.length]; String[] field_m = new String[args.length]; String[] field_l = new String[args.length]; System.out.print(field_s+"\t"); System.out.print(field_m+"\t"); System.out.print(field_l+"\t"); } }

}

コマンドラインで引数取得 aaaa bbbb cccc

出力結果
D:\デスクトップ>java Table aaaa bbbb cccc
[Ljava.lang.String;@15db9742 [Ljava.lang.String;@6d06d69c [Ljava.lang.String;@7852e922 [Ljava.lang.String;@4e25154f [Ljava.lang.String;@70dea4e [Ljava.lang.String;@5c647e05 [Ljava.lang.String;@33909752 [Ljava.lang.String;@55f96302 [Ljava.lang.String;@3d4eac69

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

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

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

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

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

pepperleaf

2018/07/08 09:00

具体的にどんなコードを書き、どんな結果になったでしょうか?
guest

回答1

0

ベストアンサー

課題の要点としては

  1. コマンドラインに入力した文字列を取り込む
  2. 文字列をテキストファイルに書き出す

この2点ではないでしょうか?

コマンドラインに指定した文字列は

argv[] = {"aaa","bbb","ccc","ddd","eee","fff"};

このような1次元配列としてプログラムからアクセスすることが出来ますので列数が3つならば、3つずつ1組にして処理すればよいですね。

Excelではタブ区切りのテキストファイルを読み込むこと出来るので、コマンドラインから読み込んだ文字列をタブ区切りにしたものを各行改行してテキストファイルに書き込めばよいです。

下記にコマンドラインから1行分のデータ取り込みの実装例を書きますので、残りは完成させてみてください。

java

1 2// TODO:テキストファイル書き出しのためのファイルオープン処理を書く 3 4int i = 0; 5String row = ""; 6for (i=0; i<argv.length, i++){ 7 // データのインデクスが3の倍数になった場合に書き出す 8 if ((i+1) % 3 == 0) { 9 row = String.format("%s\t%s\t%s", argv[i-2], argv[i-1], argv[i]); 10 // TODO:テキストファイルにこの文字列を書く処理を書く 11 } 12} 13 14// TODO:オープンしたテキストファイルを閉じる処理を書く 15

投稿2018/07/09 00:45

euledge

総合スコア2404

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

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

Xja9b3art

2018/07/09 10:44

ありがとうございます。残りは自分で完成させてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問