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

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

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

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

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1092閲覧

サーブレットプログラムで半角のみ表示させたいです。

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/06/24 02:12

編集2021/07/05 02:23

前提・実現したいこと

Java初心者です。
htmlファイルでテキストボックスに任意の値(半角数字)を5つ入力し昇順に並べ替えるというプログラムを作成中です。
エラーなく実行できるのですが、全角の数値も半角として表示されてしまうので、
全角の数値の時に例外処理をしたいのですが、方法がわかりません。

package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Servlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.setCharacterEncoding("UTF-8"); String[] values = request.getParameterValues("num"); response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<body>" + "昇順表示" + "</body>" + "<br>"); int[] valueInt = new int[values.length]; try { for (int i = 0; i < values.length; i++) { valueInt[i] = Integer.parseInt(values[i]); } } catch (NumberFormatException ex) { out.println("全てのテキストボックスに半角数字を入力してください。"); return; } for (int i = 0; i < values.length; i++) { int minIdx = i; for (int j = i + 1; j < values.length; j++) { if (valueInt[j] < valueInt[minIdx]) { minIdx = j; } } int temp = valueInt[i]; valueInt[i] = valueInt[minIdx]; valueInt[minIdx] = temp; } for (int i = 0; i < values.length; i++) { out.println(valueInt[i]); out.println( "<br>" ); } } } 以下html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>問題</title> </head> <body> 半角数字を入力してください。 <form action="text" method="post"> <input type="text" name="num" value=""> <input type="text" name="num" value=""> <input type="text" name="num" value=""> <input type="text" name="num" value=""> <input type="text" name="num" value=""> <p><input type="submit"name="button" value="送信"></p> </form> </body> </html>

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Integer.parseInt()は全角の数字も変換するので、NumberFormatExceptionにはなりません。
正規表現で全角はエラーで弾くなどの処理が必要になります。

投稿2021/06/24 02:23

Luice

総合スコア771

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問