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

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

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

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

Q&A

解決済

1回答

1846閲覧

Java電卓【ステータス404エラー】

jogduer

総合スコア14

Java

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

0グッド

0クリップ

投稿2017/10/16 01:45

###前提・実現したいこと
Eclipseの環境でjavaの電卓アプリを作っています。
ステータス404のエラーが出て原因がわからなく、どう対処すればいいかわからない状態です。
エラー解決してちゃんと電卓アプリが動くようにするにはどうすればいいでしょうか。

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

HTTPステータス 404 - Not Found Type ステータスレポート 説明 The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

###該当のソースコード

java

1 2//概要部分 3//APIをインポートをする 4import javax.swing.*; 5import java.awt.*; 6import java.awt.event.*; 7import javax.swing.JFrame; 8import java.awt.BorderLayout; 9import javax.swing.JTextField; 10import javax.swing.JPanel; 11import javax.swing.JLabel; 12 13 14//レイアウト部分 15 16public static void main(String args[]){ 17Dentaku c = new Dentaku(); 18c.show(); 19} 20 21 22//フレームを作成する 23public class DentakuFrame extends JFrame { 24 private static final long serialVersionUID = 1L; 25 26 JPanel contentPane = new JPanel(); 27 BorderLayout borderLayout1 = new BorderLayout(); 28 JTextField result = new JTextField("");String currentOp 29 double stackedValue = 0.0; 30 boolean isStacked = false; 31 boolean afterCalc = false; 32 String currentOp = ""; 33 34 //フレームのビルド 35 public DentakuFrame() { 36 contentPane.setLayout(borderLayout1); 37 this.setSize(new Dimension(250, 300));//サイズを代入 38 this.setTitle("電卓");//タイトルを代入 39 this.setContentPane(contentPane);//contentpaneを代入 40 41 contentPane.add(result, BorderLayout.NORTH); //テキストフィールドを配置 42 43 JPanel keyPanel = new JPanel(); 44 keyPanel.setLayout(new GridLayout(4, 4)); 45 contentPane.add(keyPanel, BorderLayout.CENTER); 46 47 keyPanel.add(new NumberButton("7"), 0); 48 keyPanel.add(new NumberButton("8"), 1); 49 keyPanel.add(new NumberButton("9"), 2); 50 keyPanel.add(new CalcButton("÷"), 3); 51 keyPanel.add(new NumberButton("4"), 4); 52 keyPanel.add(new NumberButton("5"), 5); 53 keyPanel.add(new NumberButton("6"), 6); 54 keyPanel.add(new CalcButton("×"), 7); 55 keyPanel.add(new NumberButton("1"), 8); 56 keyPanel.add(new NumberButton("2"), 9); 57 keyPanel.add(new NumberButton("3"), 10); 58 keyPanel.add(new CalcButton("-"), 11); 59 keyPanel.add(new NumberButton("0"), 12); 60 keyPanel.add(new NumberButton("."), 13); 61 keyPanel.add(new CalcButton("+"), 14); 62 keyPanel.add(new CalcButton("="), 15); 63 64 contentPane.add(new ClearButton(), BorderLayout.SOUTH) 65 this.setVisible(true); //見えるようにするもの 66 67 } 68 69 /* テキストフィールドに引数の文字列をつなげる */ 70 public void appendResult(String c) { 71 if (!afterCalc) //演算子ボタンを押した直後でないなら{ 72 result.setText(result.getText() + c); 73 } else { 74 result.setText(c); //押したボタンの文字列だけを設定する (一旦クリアしたかに見える) 75 afterCalc = false; 76 } 77 } 78 79 /* 数字を入力ボタンの定義 */ 80 public class NumberButton extends JButton implements ActionListener { 81 private static final long serialVersionUID = 1L; 82 83 public NumberButton(String keyTop) { 84 super(keyTop); //JButtonクラスのコンストラクタを呼び出す 85 this.addActionListener(this); 86 } 87 } 88 89 public class NumberButton extends JButton implements ActionListener { 90 private static final long serialVersionUID = 1L; 91 92 public NumberButton(String keyTop) { 93 super(keyTop); //JButtonクラスのコンストラクタを呼び出す 94 this.addActionListener(this); //このボタンにアクションイベントのリスナを設定 95 } 96 97 public void actionPerformed(ActionEvent evt) { 98 String keyNumber = this.getText(); //ボタンの名前を取り出す 99 appendResult(keyNumber); //ボタンの名前をテキストフィールドにつなげる 100 } 101 } 102 103 /* 演算子ボタンを定義 */ 104 public class CalcButton extends JButton implements ActionListener { 105 private static final long serialVersionUID = 1L; 106 107 public CalcButton(String op) { 108 super(op); 109 this.addActionListener(this); //ボタンをクリックしたら何かが起きるようにした、次のクラスで何が起きるのかを記述する 110 } 111 112 public void actionPerformed (ActionEvent e) { 113 if (isStacked) { 114 double resultValue = (Double.valueOf(result.getText())) 115 .double Value(); 116 if (currentOp.equals("+")) 117 stackedValue += resultValue; 118 else if (currentOp.equals("−")) 119 stackedValue −= resultValue; 120 else if (currentOp.equals("×")) 121 stacked Value *= resultValue; 122 else if (currentOp.equals("÷")) 123 stacked Value /= resultValue; 124 result.setText(String.valueOf(stackedValue)); //計算結果をテキストフィールドに設定 125 } 126 currentOp = this.getText(); //ボタン名から押されたボタンの演算子を取り出す 127 stackedValue = (Double.valueOf(result.getText())).doubleValue(); 128 afterCalc = true; 129 if (currentOp.equals("=")) 130 isStacked = false; 131 else 132 isStacked = true; 133 } 134 } 135 136 /* クリアボタンの定義 */ 137 public static ClassButton extends JButton implements ActionListener { 138 private static final long serealVersionUID = 1L; 139 public ClassButton() { 140 super("C"); 141 this.addActionListener(this); 142 } 143 144 public void actionPerformed(ActionEvent evt) { 145 stackedValue = 0.0; 146 afterCalc = false; 147 isStacked = false; 148 result.setText(""); 149 } 150 } 151}

###試したこと
コード1行ずつ意味と構文を調べて、間違っていると判断したところを修正しました

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

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

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

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

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

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

tkturbo

2017/10/16 02:39

提示されているソースコードからはhttp接続などできないと思うのですが、正しいファイルを実行してますか?
jogduer

2017/10/16 03:08

ご質問ありがとうございます。ソースコードからhttp接続できない(ステータス404エラー?)原因がわかりません。正しいファイルを実行するというのは、正しいファイルを指定して実行しているかということでしょうか?
fiveHundred

2017/10/16 03:47

Eclipseの環境はどのように作ったのでしょうか?。ソースコードをみた感じだとローカルで動くGUI付きのプログラムのようでHTTPとは関係がないと思われます。ひょっとして、Webのサーバーサイドのプログラムを作るための環境になってませんか?
jogduer

2017/10/16 04:11

[run configurations…]の[Program arguments]の欄にファイル名に「Dentaku」と記入し実行したら、「警告: Bootstrap: command "Dentaku" does not exist.」という警告が出ました。
jogduer

2017/10/16 04:24

Eclipseの環境は、WEB上で動く電卓のアプリを作成しようとして、動的WEBプロジェクトの作成で環境を作成しました。ソースコードをWEBで動くように記述し直さなければならないということでしょうか?
guest

回答1

0

ベストアンサー

ソースコードをWEBで動くように記述し直さなければならないということでしょうか?

その通りです。

投稿2017/10/16 04:35

fiveHundred

総合スコア9803

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

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

jogduer

2017/10/16 04:41

ご回答ありがとうございました。 WEBで動くようにソースコードを記述し直して見ます。
jogduer

2017/10/17 01:53

その後、web上で動かすためのサンプルコードが見つかり追加したのですが、再度エラーが出たので別に質問立てます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問