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

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

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

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Java

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

Q&A

解決済

1回答

5093閲覧

Java電卓【計算処理のコード記述方法】

jogduer

総合スコア14

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Java

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

0グッド

0クリップ

投稿2017/10/18 06:38

###前提・実現したいこと
Eclipse環境で、Javaの電卓のwebアプリケーションを作成しています。

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

電卓のようにボタンを押して計算する機能をつけたいが、 計算処理のコードの書き方がわからない。

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

Java

1package pack2; 2 3import java.io.IOException; 4import java.io.PrintWriter; 5 6import javax.servlet.ServletContext; 7import javax.servlet.ServletException; 8import javax.servlet.annotation.WebServlet; 9import javax.servlet.http.HttpServlet; 10import javax.servlet.http.HttpServletRequest; 11import javax.servlet.http.HttpServletResponse; 12 13 14/** 15 * Servlet implementation class Dentaku 16 */ 17@WebServlet("/DentakuFrame.java") 18public class DentakuFrame extends HttpServlet { 19 20 21 private static final long serialVersionUID = 1L; 22 23 24 /** 25 * @see HttpServlet#HttpServlet() 26 */ 27 public Dentaku() { 28 29 super(); 30 // TODO Auto-generated constructor stub 31 } 32 33 34 /** 35 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 36 */ 37 @Override 38 protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { 39 40 this.doPost( request, response ); 41 } 42 43 44 /** 45 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 46 */ 47 @Override 48 protected void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { 49 50 response.setContentType( "text/html; charset=UTF-8" ); 51 request.setCharacterEncoding( "UTF-8" ); 52 53 ServletContext application = this.getServletContext(); 54 int kekka = 0; 55 56 PrintWriter out = response.getWriter(); 57 out.println( "<html>" ); 58 out.println( "<head>" ); 59 out.println( "<title>" ); 60 out.println( "電卓" ); 61 out.println( "</title>" ); 62 out.println( "</head>" ); 63 out.println( "<body>" ); 64 out.println( "演算結果:" + kekka ); 65 out.println( "<form action='/psc/Dentaku' method='post'>" ); 66 out.println( "<input type='text' name = 'text' value = '' size=50>" ); 67 out.println( "<br>" ); 68 out.println( "<input type='submit' value=' + ' name='tasu'>" ); 69 out.println( "<input type='submit' value=' - ' name='hiku'>" ); 70 out.println( "<input type='submit' value=' × ' name='kakeru'>" ); 71 out.println( "<input type='submit' value=' / ' name='waru'>" ); 72 out.println( "<br>" ); 73 out.println( "<input type='submit' value=' 0 ' name='zero'>" ); 74 out.println( "<input type='submit' value=' 1 ' name='ichi'>" ); 75 out.println( "<input type='submit' value=' 2 ' name='zero'>" ); 76 out.println( "<input type='submit' value=' 3 ' name='ichi'>" ); 77 out.println( "<br>" ); 78 out.println( "<input type='submit' value=' 4 ' name='zero'>" ); 79 out.println( "<input type='submit' value=' 5 ' name='ichi'>" ); 80 out.println( "<input type='submit' value=' 6 ' name='zero'>" ); 81 out.println( "<input type='submit' value=' 7 ' name='ichi'>" ); 82 out.println( "<br>" ); 83 out.println( "<input type='submit' value=' 8 ' name='zero'>" ); 84 out.println( "<input type='submit' value=' 9 ' name='ichi'>" ); 85 out.println( "<input type='submit' value=' c ' name='zero'>" ); 86 out.println( "<input type='submit' value=' = ' name='ichi'>" ); 87 out.println( "</form>" ); 88 out.println( "</body>" ); 89 out.println( "</html>" ); 90 91 application.setAttribute( "apkekka", kekka ); 92 } 93 94 95 public boolean isNumber( String num ) { 96 97 try { 98 Integer.parseInt( num ); 99 return true; 100 } catch ( NumberFormatException e ) { 101 return false; 102 } 103 } 104 105}

###試したこと
計算処理について調べてみたが、ラジオボタンを使った計算や、数字を記入して計算するものなどで参考になるものが見つからなかった。

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

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

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

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

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

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

jogduer

2017/10/18 07:50

ご指摘ありがとうござます。確かに丸投げになってました。調査したこと、試したことなどあれば記載していきます。
退会済みユーザー

退会済みユーザー

2017/10/18 10:22

やりたい事が先走りすぎてる気がします、電卓の作成の前に入門書等で一通りwebアプリに関して学んでからまた取り組んでみてはどうでしょうか。
jogduer

2017/10/20 00:39

ご指摘ありがとうござます。段階を踏んで作成していきたいと思います。
guest

回答1

0

ベストアンサー

回答では、ありません。

まずはプログラミングの前に仕様を考えて下さい。
どのボタンを押したら、どうなるか?(どうしたいか?)

この仕組みを考えて下さい。教えて下さい。という状況なら課題をもっと単純なものに変えたほうが良いです。

まずは押したボタンを表示とか、
1の後に2を押したら12を表示するとか
電卓っぽい動作をするものから始めては
どうでしょう。

投稿2017/10/18 07:10

momon-ga

総合スコア4820

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

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

jogduer

2017/10/18 07:30

早速の回答ありがとうございます。 まずは仕組みから考えてみます。 電卓の動作を並びあげて、その仕組みから考えていきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問