質問編集履歴

3 見やすいように修正

sobue

sobue score 218

2016/03/26 23:21  投稿

配列を他のクラスで使用する
```java  
package othello;
import java.awt.Color;
public class CommonConstants {
   // 一つのマスの大きさ
   public static final int SIZE = 100;
   // マスの数
   public static final int MASS = 8;
   // 縦の幅
   public static final int HEGHT = SIZE * MASS;
   // 横の幅
   public static final int WIDETH = SIZE * MASS;
   // 駒の色
   public static final Color PEICE_COLOR1 = Color.BLACK;
   // 駒の色
   public static final Color PEICE_COLOR2 = Color.WHITE;
   // 黒色
   public static final int BLACK = 1;
   // 白色
   public static final int WHITE = 2;
   // 駒無し
   public static final int EMPTY = 0;
   // ボードの色
   public static final Color BOARDCOLOR = Color.GREEN;
   // ボードの線の色
   public static final Color LINECOLOR = Color.BLACK;
   // 自分のターン
   public static final int PLAYER1 = 1;
   // 相手のターン
   public static final int PLAYER2 = -1;
   // ボード配列
   public int[][] BOARD_ARRAY = new int[MASS][MASS];
}
```
定数クラスで上記の配列を作ったのですが、他のクラスで使用することができません。
newをしてしまうとデータが消えてしまうので出来ないのですが
どのように宣言+使用したらいいのでしょうか?
```java
package othello;
import java.awt.event.MouseEvent;
import javax.swing.event.MouseInputListener;
import static othello.CommonConstants.*;
public class Reverse implements MouseInputListener {
   Decision decision = new Decision();
   public Reverse() {
       int turn = -1;
       
   }
   @Override
   public void mouseClicked(MouseEvent e) {
       // TODO 自動生成されたメソッド・スタブ
   }
   @Override
   public void mousePressed(MouseEvent e) {
       // TODO 自動生成されたメソッド・スタブ
       
       Decision decision = new Decision();
       int x = e.getX();
       int y = e.getY();
       // 1マスのSIZEを割った数の整数だけ取得すると2次元配列が取得できる
       x = x / SIZE;
       y = y / SIZE;
       
       if(decision.canReverse(x, y,BOARD_ARRAY)==false){
           System.out.println("ここには置くことができません");
       }
       System.out.println(x + "," + y);
   }
```
  • Java

    20126 questions

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

2 コードの追記

sobue

sobue score 218

2016/03/26 23:20  投稿

配列を他のクラスで使用する
```java
package othello;
import java.awt.Color;
public class CommonConstants {
   // 一つのマスの大きさ
   public static final int SIZE = 100;
   // マスの数
   public static final int MASS = 8;
   // 縦の幅
   public static final int HEGHT = SIZE * MASS;
   // 横の幅
   public static final int WIDETH = SIZE * MASS;
   // 駒の色
   public static final Color PEICE_COLOR1 = Color.BLACK;
   // 駒の色
   public static final Color PEICE_COLOR2 = Color.WHITE;
   // 黒色
   public static final int BLACK = 1;
   // 白色
   public static final int WHITE = 2;
   // 駒無し
   public static final int EMPTY = 0;
   // ボードの色
   public static final Color BOARDCOLOR = Color.GREEN;
   // ボードの線の色
   public static final Color LINECOLOR = Color.BLACK;
   // 自分のターン
   public static final int PLAYER1 = 1;
   // 相手のターン
   public static final int PLAYER2 = -1;
   // ボード配列
   public int[][] BOARD_ARRAY = new int[MASS][MASS];
}
```
定数クラスで上記の配列を作ったのですが、他のクラスで使用することができません。
newをしてしまうとデータが消えてしまうので出来ないのですが
どのように宣言+使用したらいいのでしょうか?
どのように宣言+使用したらいいのでしょうか?
```java
package othello;
import java.awt.event.MouseEvent;
import javax.swing.event.MouseInputListener;
import static othello.CommonConstants.*;
public class Reverse implements MouseInputListener {
   Decision decision = new Decision();
   public Reverse() {
       int turn = -1;
       
   }
   @Override
   public void mouseClicked(MouseEvent e) {
       // TODO 自動生成されたメソッド・スタブ
   }
   @Override
   public void mousePressed(MouseEvent e) {
       // TODO 自動生成されたメソッド・スタブ
       
       Decision decision = new Decision();
       int x = e.getX();
       int y = e.getY();
       // 1マスのSIZEを割った数の整数だけ取得すると2次元配列が取得できる
       x = x / SIZE;
       y = y / SIZE;
       
       if(decision.canReverse(x, y,BOARD_ARRAY)==false){
           System.out.println("ここには置くことができません");
       }
       System.out.println(x + "," + y);
   }
```
  • Java

    20126 questions

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

1 コードの追加

sobue

sobue score 218

2016/03/26 23:18  投稿

配列を他のクラスで使用する
```java
public int[][] BOARD_ARRAY = new int[MASS][MASS];
package othello;
import java.awt.Color;
public class CommonConstants {
   // 一つのマスの大きさ
   public static final int SIZE = 100;
   // マスの数
   public static final int MASS = 8;
   // 縦の幅
   public static final int HEGHT = SIZE * MASS;
   // 横の幅
   public static final int WIDETH = SIZE * MASS;
   // 駒の色
   public static final Color PEICE_COLOR1 = Color.BLACK;
   // 駒の色
   public static final Color PEICE_COLOR2 = Color.WHITE;
   // 黒色
   public static final int BLACK = 1;
   // 白色
   public static final int WHITE = 2;
   // 駒無し
   public static final int EMPTY = 0;
   // ボードの色
   public static final Color BOARDCOLOR = Color.GREEN;
   // ボードの線の色
   public static final Color LINECOLOR = Color.BLACK;
   // 自分のターン
   public static final int PLAYER1 = 1;
   // 相手のターン
   public static final int PLAYER2 = -1;
   // ボード配列
   public int[][] BOARD_ARRAY = new int[MASS][MASS];
}
```
定数クラスで上記の配列を作ったのですが、他のクラスで使用することができません。
newをしてしまうとデータが消えてしまうので出来ないのですが
どのように宣言+使用したらいいのでしょうか?
  • Java

    20126 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る