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

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

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

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

297閲覧

コンパイル時に注意が表示されます

0424_404

総合スコア16

Java

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2018/03/09 16:42

こちらのコードなのですが
注意:rule.javaの操作は、未チェックまたは安全ではありません。
注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。
と表示されます。原因と修正の案が出せる方は、おられないでしょうか

package apuri;

import java.util.Random;
import java.util.ArrayList;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.awt.Color;

public class rule {
static int mysu = 13; // カードの最大枚数
static int cardnumber = 13; // カードの最強数字
static ArrayList mycard = new ArrayList();
static ArrayList cpucard = new ArrayList();
static int myselect; // プレイヤー出したカード
static int cpuselect; // CPU出したカード
static int mylist = 0; // プレイヤーの最終カード
static int cpulist = 0; // CPUの最終カード
static boolean mypass = false;
static boolean cpupass = false;
static String yomikomi;

public static void manage() { Random ran = new Random(); for (int i = 0; i < mysu; i++) { mycard.add(ran.nextInt(cardnumber) + 1); cpucard.add(ran.nextInt(cardnumber) + 1); } } // プレイヤー手持ち表示ラベル; // CPU手持ち表示ラベル; public static void select() throws IOException { game gg = new game(); game.hyouzi(Color.YELLOW, Color.RED, "スタート!", 300, gg.jpg); BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); // 手持ちカード表示ラベル try { while (cpupass == false) { yomikomi = buf.readLine(); if (yomikomi.equals("P") || yomikomi.equals("p")) { // 最後に出したカードを0 mylist = 0; break; } else { // int型に変換 myselect = Integer.parseInt(yomikomi); if (myselect < 1) { // 1以下の数字を出した件 } else if (myselect > mycard.size()) { // カードの数より大きい数字を出したとき } else { if ((int) mycard.get(myselect - 1) <= cpulist) { // 場に出ているカードと同じか小さい数字を選択した場合の処理 } else { mylist =(int) mycard.get(myselect - 1); // 選択したカード表示ラベル // 選択されたカードは変数の中身をからにする mycard.remove(myselect - 1); // 正常な入力をされた場合はtrueを渡してループから抜け出す mypass = true; } } } } // ループから抜けた後に初期化 mypass = false; } catch (Exception e) { e.printStackTrace(); } // 勝敗メソッド judge(name.namelist); } public static void cpuselect() { game gg = new game(); game.hyouzi(Color.YELLOW, Color.RED, "あなたのターンです", 100, gg.jpg); for (int i = 0; i < cpucard.size(); i++) { // 場のカードと持ち札比較 if (i < (int) cpucard.get(i)) { // 場のカードより強いカードを持っていた時の処理(cpucardの内、(i)ターンの.getの一枚 // 選択したカード表示メソッド // 場に出たカード代入 cpulist = (int) cpucard.get(i); // 選択されたカードを除いていく cpucard.remove(i); // パス cpupass = false; break; } else { cpupass = true; // 最後に出したカードを0 cpulist = 0; } } // trueを渡された場合はpass if (cpupass == true) { game.hyouzi(Color.CYAN, Color.BLUE, "パス", 300, gg.jpg); cpupass = false; // 初期化 } else { } judge("CPU"); } // 勝敗判定メソッド作成 public static void judge(String str) { game gg = new game(); // プレイヤーかCPUの手持ちカードが0枚になった場合の処理 if (mycard.size() == 0 || cpucard.size() == 0) { game.hyouzi(null, Color.YELLOW, "終了ー!!" + str + "の勝ち", 150, gg.jpg); // strの勝ちメソッド rule.manage(); // 再戦するためのメソッド } }

}

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

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

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

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

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

yukapome789

2018/03/10 02:05

質問内容の回答ではないのですが、Javaのクラス名は原則、アルファベット大文字から始めましょう。
guest

回答1

0

ベストアンサー

直接的な原因は生のArrayListを用いていることです。
整数を格納したいなら List<Integer> listname = new ArrayList<>(); が適切です。
【Java入門】ArrayListでのList型の宣言とその使い方総まとめ


それ以外にも、非常に気になる点があります。staticな要素が多過ぎです。
staticをむやみに使うことはオブジェクト指向開発を阻害します。
もしエラーを解消するためだけにstatic指定をしているのなら、すぐにそれをやめてください。

しっかりエラーや警告の原因を把握することが、結果的に近道になります。

質問の仕方について

teratailには、以下のようにコードを見やすく表示する機能があります。

Java

1class Main { 2 public static void main(String[] args) { 3 System.out.println("Hello World!"); 4 } 5}

質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。

投稿2018/03/09 16:59

LouiS0616

総合スコア35660

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問