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

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

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

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

例外処理

例外処理(Exception handling)とは、プログラム実行中に異常が発生した場合、通常フローから外れ、例外として別の処理を行うようにデザインされたプログラミング言語構造です。

Q&A

解決済

2回答

446閲覧

例外処理について 詳しく教えてください

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

例外処理

例外処理(Exception handling)とは、プログラム実行中に異常が発生した場合、通常フローから外れ、例外として別の処理を行うようにデザインされたプログラミング言語構造です。

0グッド

0クリップ

投稿2018/07/12 15:53

NumberformatExceptionという例外について少し教えてほしいです。
今開発しているプログラムで
型 SaleDetailTable のメソッド insert(int, int, String, int, int, int, int) は引数 (String, int, String, String, String, String, String) に適用できません
というエラーが起こっています。

int saleFormCol = Integer.parseInt(request.getParameter("length"));
String productCode = request.getParameter("productCode");
String salePrice = request.getParameter("unitPrice");
String saleNum = request.getParameter("num");
String saleTotal = request.getParameter("total");
String saleTax = request.getParameter("tax");

int length = Integer.parseInt(request.getParameter("length")); for(int i = 0; i < length; i++) { saleFormCol = Integer.parseInt(request.getParameter("length")); productCode = request.getParameter("productCode" + i); salePrice = request.getParameter("unitPrice" + i); saleNum = request.getParameter("num" + i); saleTotal = request.getParameter("total" + i); saleTax = request.getParameter("tax" + i);

     }
・値の取得の仕方やその変換方法が間違っているのが原因だと私は思うのですがそれを解決する方法はありますでしょうか?
※今は中途半端になってるのですが、最終的にはint,int,String...intの方になってほしいです

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

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

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

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

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

guest

回答2

0

ベストアンサー

型 SaleDetailTable のメソッド insert(int, int, String, int, int, int, int) は引数 (String, int, String, String, String, String, String) に適用できません

引数の型が合っていないのでコンパイルできないって話で、引数の型を、そのメソッドの規定に合わしてやればいいだけの話です

・値の取得の仕方やその変換方法が間違っているのが原因だと私は思うのですがそれを解決する方法はありますでしょうか?

あります

まず、それぞれの引数がどういう意味を持っているのか、というのを理解しましょう
ってより、そのコードを書いたのはあなたじゃないんでしょうか

投稿2018/07/12 22:12

y_waiwai

総合スコア87719

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

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

退会済みユーザー

退会済みユーザー

2018/07/13 00:49

単純にrequest .getParameterで値取得をやって規定の型にキャストしてやればなんとかなるかと考えたのですが、なんかうまくいかないみたいなのでそもそもどこかが違うのかなっと…
y_waiwai

2018/07/13 01:03

.getParameterで、文字列が取得できるようですが、どういう文字列が得られるのかはっきりさせましょう たとえば、"123456"という文字列であるなら、parseInt関数でintに変換できますが、"123m"とか単位が入ってると、'm'を抜かないと変換に失敗します とにもかくにも、どういう文字列なのか、というのを調べることです
euledge

2018/07/13 03:39

変換方法が誤っていると認識されているのであれば変換前の文字列がどうなのかを知ることが大事ですし、それに関しては実際のコードを動かす Anthony_03 さんが果たすべき役割ですし他の人には出来ないことですよね。
退会済みユーザー

退会済みユーザー

2018/07/13 05:13

何とか解決することができました!みなさんありがとうございます また何かあったらお手伝いお願いしてもいいですか?
euledge

2018/07/13 06:56

解決した内容を記載して 自己解決とするとよいと思います
guest

0

参考情報
java.lang.NumberFormatException
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/NumberFormatException.html

まずは、Integer.parseInt() に渡っている文字列がどうなっているかをデバッガーや print文で確認をしてみると良いです。

投稿2018/07/12 22:02

katoy

総合スコア22324

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問