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

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

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

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

Eclipse

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

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

1回答

1233閲覧

BigDecimalで足し算だけでなく引き算もできるようにしたいのですがうまくいかずreturn Resultで複数の結果を出せるようにしたいです。

remon-301

総合スコア0

Java

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

Eclipse

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

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2022/02/21 08:24

解決したいこと

BigDecimalで足し算だけでなく引き算もできるようにしたいのですがうまくいかずreturn Resultで複数の結果を出せるようにしたいです。


私はJava初学者です。マークダウンについても勉強中です。できる限り修正したのを投稿いたします。

EclipseでJavaでフレームワークはspringboot、テンプレートエンジンはThymeleafを使い簡単な計算機を作成中です。

既に足し算のみの計算は成功いたしました。
その成功したコードに引き算ができるようBigDecimalを追加いたしました、
ですが追加したところ(b3Result は解決できないか、フィールドではありません)となってしまします。
もし引き算が成功しましたら、掛け算、割り算も追加していく予定です。
記述にはBigDecimal以外にも書き方はありますが、今回は自分の頭がこんがらがってしましますので今回はBigDecimalを使っていきたいです。
自分なりに調べた結果calcService.Javaはもちろんcontrollerの部分に影響があるのかなと感じました。
成功画面としては、http://localhost:8080/calc
で計算するための枠を作り、送信ボタンを押すとhttp://localhost:8080/res
で答えがそれぞれ帰ってくるようにしたいです。
スクリーンショット (23).png
スクリーンショット (24).png

解決方法を教えて下さい。

発生している問題・エラー CalcService.java

return AdResult.b3Result;

###1 WebCalc01Application.java

package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class WebCalc01Application { public static void main(String[] args) { SpringApplication.run(WebCalc01Application.class, args); } }

###2 CalcController.java

package com.example.demo.controllers; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import com.example.demo.services.CalcService; @Controller 。 public class CalcController { @Autowired private CalcService service; @PostMapping("res") public String calc( Model model, @RequestParam("numA")String NumA, @RequestParam("numB")String NumB, @RequestParam("numC")String NumC, @RequestParam("numD")String NumD ) { model.addAttribute("kotae", service.calculate(NumA,NumB,NumC,NumD)); return "res"; } }

###3 IndexController

package com.example.demo.controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class IndexController { @RequestMapping() public String index() { return "index"; } @RequestMapping("calc") public String calc() { return "calc"; } }

###4 CalcService.java 問題のエラーがあるパッケージ

package com.example.demo.services; import java.math.BigDecimal; import org.springframework.stereotype.Component; @Component public class CalcService { public String calculate( String NumA, String NumB, String NumC, String NumD ) { BigDecimal AdA = new BigDecimal(NumA); BigDecimal AdB = new BigDecimal(NumB); BigDecimal AdR = AdA.add(AdB); String AdResult = AdR.toString(); BigDecimal b1 = new BigDecimal(NumC); BigDecimal b2 = new BigDecimal(NumD); BigDecimal b3 = b1.subtract(b2); String b3Result = b3.toString(); return AdResult.b3Result; } }

###5 calc.html

<!DOCTYPE html> <html> <head> <meta charset="UTF-8" xmlns:th="http://www.thymeleaf.org"> <title>web足し算</title> </head> <body> <p>数値を入力してください!</p> <form method="POST" action="res"> <input type="text" inputmode=decimal name="numA" value=0> <b>+</b> <input type="text" inputmode=decimal name="numB" value=0> <input type=submit value="送信"> </form> <form method="POST" action="res"> <input type="text" inputmode=decimal name="numC" value=0> <b>-</b> <input type="text" inputmode=decimal name="numD" value=0> <input type=submit value="送信"> </form> </body> </html>

###6 index.html

<!DOCTYPE html> <html> <head> <meta charset="UTF-8" xmlns:th="http://www.thymeleaf.org"> <title>egap xedni</title> </head> <body> <h1>ここはインデックスページです。</h1> <p>これから足し算、引き算、掛け算、割り算をしていきます。</p> <p>下のリンクをクリックしてね!</p> <a href="calc">calcへリンクします</a> </body> </html>

###7 res.html

<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <p>計算結果!</p> <!-- 足し算表示欄 --> <b th:text="${kotae}" class="adresult">0</b> <b th:text="${kotae}" class="b3Result">0</b> <!--class="adresult"> <p></p> </body> </html>

自分で試したこと

res.htmlの部分は

<b th:text="${kotae}" class="adresult"></b> <b th:text="${kotae}" class="b3Result"></b>

<b th:text="${kotae}" class="adresult,"b3Result">

にしても問題はないのかなと感じました。
ですがそこはHTMLの部分ですからcalcService.Javaにエラーがなかったの話ですよね、、

return Resultの書き方についても調べましたが色々な情報が入って来すぎた為あまり理解できませんでした。

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

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

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

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

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

guest

回答1

0

java

1return AdResult.b3Result;

これだと「(String型の変数) AdResultのb3Resultという名前のフィールド」を指しますが、String型にそんな名前のフィールドは存在しません。

投稿2022/02/21 09:24

swordone

総合スコア20651

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問