• 締切済み

ポインタを用いた配列

コマンドラインで入力した入力した3つの数字に配列ポインタを付けて 線形リストにし、それらを表示したかったのですが、エラーが出て分かりません。 3、4年前に一度やったことはありましたが、いざやってみると全然できませんでした。 どこをどう直したら良いのか、ご教授よろしくお願いします。 class Node1 { public static void main(String arg[]) { String num = br.readLine(); a1.new Node(num); a2.new Node(num); a3.new Node(num); a1.next = a2; a2.next = a3; System.out.println("a1 = " + a1.new); System.out.println("a2 = " + a2.new); System.out.println("a3 = " + a3.new); } }

みんなの回答

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.3

Javaの素人です。 >>3つの数字に配列ポインタを付けて Javaの場合、C言語の配列ポインタ「のような」働きをする変数を使っても、「配列ポインタ」という言い方はしないで「参照」と言うようです。なので、No.2さんのように >>「配列ポインタ」なるものが理解できない という回答が返ってくることになってしまいます。Javaでの質問の場合は、やっぱり「Javaの世界の用語」を使ったほうがいいと思います。 >>3、4年前に一度やったことはありましたが、いざやってみると全然できませんでした。 私も、No.1さんと同様に、 >>ソースから何がやりたいのかいまいちわからないのですが、・・・ という感じです。さらに、3、4年前にやったソースコードを使っているのではなく、3、4年前のうろおぼえの記憶に頼ってコードを書いたのであれば、エラーが出るのも当然だと思います。その当時のソースを探されるか、その時、コードを書くときに参考にした書籍などを探されたほうが早いように思います。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

ソース以上に日本語の意味が不明. ・「コマンドラインで入力する」ってどういうこと? ・「3つの数字に配列ポインタをつけて線形リストにし」というのは何をしたいのでしょうか? 「配列ポインタ」なるものが理解できないし, それを「数字につける」とは何を意味するのでしょうか? ついでにいえば「エラーが出る」というならどのようなエラーが出ているのかくらい書こうよ.

回答No.1

ソースから何がやりたいのかいまいちわからないのですが、線形リストにしたいというのであればこんな感じでしょうか? import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Node { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); Elements a1 = null;; Elements a2 = null;; Elements a3 = null;; for ( int i = 1 ; i < 4 ; i ++ ){ System.out.println(i + "回目の数値を入力してください"); switch (i){ case 1: a1 = new Elements( Integer.parseInt(br.readLine())); break; case 2: a2 = new Elements( Integer.parseInt(br.readLine())); break; case 3: a3 = new Elements( Integer.parseInt(br.readLine())); break; default: break; } } a1.next = a2; a2.next = a3; a3.next = a1; System.out.println("a1 now =" + a1.now()); System.out.println("a1 next =" + a1.next.now()); System.out.println("a2 now =" + a2.now()); System.out.println("a2 next =" + a2.next.now()); System.out.println("a3 now =" + a3.now()); System.out.println("a3 next =" + a3.next.now()); } } class Elements{ Elements(int num){ this.num = num; } public int num; public Elements next; public int now(){ return num; } }

関連するQ&A