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

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

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

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

Q&A

解決済

2回答

1602閲覧

○○○○(String title){ の宣言をできるようにしたい。

cretter

総合スコア91

Java

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

0グッド

0クリップ

投稿2020/08/03 06:47

編集2020/08/03 08:18

前提・実現したいこと

今javaプログラミングの練習中で電卓を試しに作ってみているのですが、javadriveを参考にしてボタンを押すとその数字が入力されるプログラムを作っていました。しかし、なぜかエラーが消えないので質問してみました。

発生している問題・エラーメッセージ

denpart0201.java:44: エラー: シンボルを見つけられません den01.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ^ シンボル: メソッド setDefaultCloseOperation(int) 場所: タイプdenpart0201の変数 den01 denpart0201.java:45: エラー: シンボルを見つけられません den01.setVisible(true); ^ シンボル: メソッド setVisible(boolean) 場所: タイプdenpart0201の変数 den01 エラー2個

該当のソースコード

import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JTextField; import javax.swing.border.LineBorder; import java.awt.Font; import java.awt.Color; import java.awt.image.BufferedImage; import java.awt.Container; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Dimension; import java.awt.event.*; import java.awt.event.KeyEvent; import java.io.File; import javax.imageio.ImageIO; public class denpart0201 { static int x = 1234567890; public static void main( String[] args ) //メイン文 { denpart0201 den01 = new denpart0201("電卓"); den01.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); den01.setVisible(true); } denpart0201(String title){ JFrame frame01 = new JFrame("電卓"); //フレームの処理名称宣言 frame01.setBounds(100, 100, 400, 600); //フレームの座標、サイズを指定 frame01.getContentPane().setBackground( Color.WHITE ); //フレームの色を指定 JPanel panel01 = new JPanel(); LineBorder border01 = new LineBorder(Color.BLACK, 2, true); //ボーダーラインを作成 panel01.setBorder(border01); //ボーダーラインを表示 frame01.setLayout(new FlowLayout()); //レイアウトを選択 panel01.setPreferredSize(new Dimension(250, 350)); //パネルのサイズを指定 panel01.setBackground( new Color(200,255,255) ); //パネルの色を指定 JButton button01 = new JButton("1"); //ボタンを作成 JButton button02 = new JButton("2"); //ボタンを作成 JButton button03 = new JButton("3"); //ボタンを作成 JButton button0pu = new JButton("+"); //ボタンを作成 JButton button04 = new JButton("4"); //ボタンを作成 JButton button05 = new JButton("5"); //ボタンを作成 JButton button06 = new JButton("6"); //ボタンを作成 JButton button0ma = new JButton("ー"); //ボタンを作成 JButton button07 = new JButton("7"); //ボタンを作成 JButton button08 = new JButton("8"); //ボタンを作成 JButton button09 = new JButton("9"); //ボタンを作成 JButton button0ka = new JButton("X"); //ボタンを作成 JButton button0ze = new JButton("0"); //ボタンを作成 JButton button0zero = new JButton("00"); //ボタンを作成 JButton button0wa = new JButton("÷"); //ボタンを作成 JButton button0ce = new JButton("ce"); //ボタンを作成 JButton button0iko = new JButton("="); //ボタンを作成 JButton button0back = new JButton("bs"); //ボタンを作成 button01.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button02.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button03.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0pu.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button04.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button05.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button06.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0ma.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button07.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button08.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button09.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0ka.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0ze.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0zero.setPreferredSize(new Dimension(105, 50)); //ボタンのサイズを指定 button0wa.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0ce.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 button0iko.setPreferredSize(new Dimension(105, 50)); //ボタンのサイズを指定 button0back.setPreferredSize(new Dimension(50, 50)); //ボタンのサイズを指定 frame01.getRootPane().setDefaultButton(button0iko); //Enterを押すと[button0iko]を起動 //0はゼロ JPanel panel201 = new JPanel(); panel201.setBorder(border01); //ボーダーラインを表示 panel201.setPreferredSize(new Dimension(215, 50)); //パネルのサイズを指定 panel201.setBackground( Color.WHITE ); //パネルの色を指定 button01.setMnemonic(KeyEvent.VK_1); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button02.setMnemonic(KeyEvent.VK_2); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button03.setMnemonic(KeyEvent.VK_3); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button04.setMnemonic(KeyEvent.VK_4); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button05.setMnemonic(KeyEvent.VK_5); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button06.setMnemonic(KeyEvent.VK_6); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button07.setMnemonic(KeyEvent.VK_7); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button08.setMnemonic(KeyEvent.VK_8); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button09.setMnemonic(KeyEvent.VK_9); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0ze.setMnemonic(KeyEvent.VK_0); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0zero.setMnemonic(KeyEvent.VK_Z); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0pu.setMnemonic(KeyEvent.VK_Q); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0ma.setMnemonic(KeyEvent.VK_W); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0ka.setMnemonic(KeyEvent.VK_E); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0wa.setMnemonic(KeyEvent.VK_R); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0back.setMnemonic(KeyEvent.VK_A); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 button0ce.setMnemonic(KeyEvent.VK_S); //VKをALTキーとする そして_の後にあるキーを押されると[button]が起動 Container con = frame01.getContentPane(); //パネルを関数に変換(多分) con.add(panel01); //パネルをフレームに表示 panel01.add(panel201); //パネルの中にパネルを表示 panel01.add(button01); //ボタンを表示 panel01.add(button02); //ボタンを表示 panel01.add(button03); //ボタンを表示 panel01.add(button0pu); //ボタンを表示 panel01.add(button04); //ボタンを表示 panel01.add(button05); //ボタンを表示 panel01.add(button06); //ボタンを表示 panel01.add(button0ma); //ボタンを表示 panel01.add(button07); //ボタンを表示 panel01.add(button08); //ボタンを表示 panel01.add(button09); //ボタンを表示 panel01.add(button0ka); //ボタンを表示 panel01.add(button0ze); //ボタンを表示 panel01.add(button0zero); //ボタンを表示 panel01.add(button0wa); //ボタンを表示 panel01.add(button0ce); //ボタンを表示 panel01.add(button0iko); //ボタンを表示 panel01.add(button0back); //ボタンを表示 JLabel label01 = new JLabel("" + x ); //ラベルを作成 panel201.add(label01); //パネルをフレームに表示 frame01.setVisible(true); //フレームを表示 frame01.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //フレームを閉じれば終了 } static void put( String str ) { System.out.println( str ); } }

試したこと

コントラクトをクラスに使用しているdenpart0201にした。(編集済み)

補足情報(FW/ツールのバージョンなど)

java  jdk-14.0.2

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

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

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

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

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

dodox86

2020/08/03 06:55 編集

なぜ分からないのか不思議です。他のメソッドではできていますね。他のメソッドはコピペでしょうか。メソッドの作り方は基本なので、「Java メソッドの作り方」などで検索してみてください。
guest

回答2

0

エラーメッセージに書いてあるとおり、戻り値の型が書いてないのでエラーになってます
なにも戻さないなら、voidを付けましょう

void Dentaku(String title){

投稿2020/08/03 07:11

y_waiwai

総合スコア88042

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

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

cretter

2020/08/03 07:34 編集

それだと エラー 「 denpart0201.java:43: エラー: シンボルを見つけられません Dentaku den01 = new Dentaku("電卓"); ^ シンボル: クラス Dentaku 場所: クラス denpart0201 denpart0201.java:43: エラー: シンボルを見つけられません Dentaku den01 = new Dentaku("電卓"); ^ シンボル: クラス Dentaku 場所: クラス denpart0201 エラー2個 」 となってしまいます。
y_waiwai

2020/08/03 07:35

コンストラクタのつもりなら、クラス名をDentakuにしないとだめですわな
cretter

2020/08/03 07:44 編集

クラス名を変えずに今までDentakuだった場所をdenpart0201にしてみました。すると、 enpart0201.java:43: エラー: クラス denpart0201のコンストラクタ denpart0201は指定された型に適用できません。 denpart0201 den01 = new denpart0201("電卓"); ^ 期待値: 引数がありません 検出値: String 理由: 実引数リストと仮引数リストの長さが異なります と言うエラーが新しく追加されたのですがどうすればよいでしょうか?
y_waiwai

2020/08/03 07:47

コンストラクタは戻り値の型は書きません denpart0201(String title){
cretter

2020/08/03 08:11

してみました。すると denpart0201.java:44: エラー: シンボルを見つけられません den01.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ^ シンボル: メソッド setDefaultCloseOperation(int) 場所: タイプdenpart0201の変数 den01 denpart0201.java:45: エラー: シンボルを見つけられません den01.setVisible(true); ^ シンボル: メソッド setVisible(boolean) 場所: タイプdenpart0201の変数 den01 エラー2個 とでてきました。
guest

0

ベストアンサー

返り値の型が省略できるのはコンストラクタの場合のみであり、コンストラクタであるためにはクラス名と同名である必要があります。

投稿2020/08/03 06:50

swordone

総合スコア20669

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

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

cretter

2020/08/03 07:22

swordoneさんのアドバイスに応じてこのように直してみました。 / public static void main( String[] args ) //メイン文 { denpart0201 den01 = new denpart0201("電卓"); den01.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); den01.setVisible(true); } / しかし、次は「den01 のシンボルが見つけられません」と出たのですが同ればいいでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問