teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

意図的に内容を抹消する行為にあたるため

2021/07/05 02:23

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 削除、、、、、、、、、、、、、、、、、、、、、、、、、、、、
1
+ サーブレットプログラムで半角のみ表示させたいです。
body CHANGED
@@ -1,1 +1,71 @@
1
+ ### 前提・実現したいこと
2
+ Java初心者です。
3
+ htmlファイルでテキストボックスに任意の値(半角数字)を5つ入力し昇順に並べ替えるというプログラムを作成中です。
1
- 削除、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
4
+ エラーなく実行できるのですが全角の数値も半角として表示されてしまうので
5
+ 全角の数値の時に例外処理をしたいのですが、方法がわかりません。
6
+ ```ここに言語名を入力
7
+ package servlet;
8
+ import java.io.IOException;
9
+ import java.io.PrintWriter;
10
+ import javax.servlet.ServletException;
11
+ import javax.servlet.http.HttpServlet;
12
+ import javax.servlet.http.HttpServletRequest;
13
+ import javax.servlet.http.HttpServletResponse;
14
+ public class Servlet extends HttpServlet {
15
+ public void doPost(HttpServletRequest request, HttpServletResponse response)
16
+ throws IOException, ServletException {
17
+ request.setCharacterEncoding("UTF-8");
18
+ String[] values = request.getParameterValues("num");
19
+ response.setContentType("text/html; charset=UTF-8");
20
+ PrintWriter out = response.getWriter();
21
+ out.println("<body>" + "昇順表示" + "</body>" + "<br>");
22
+ int[] valueInt = new int[values.length];
23
+ try {
24
+ for (int i = 0; i < values.length; i++) {
25
+ valueInt[i] = Integer.parseInt(values[i]);
26
+ }
27
+ } catch (NumberFormatException ex) {
28
+ out.println("全てのテキストボックスに半角数字を入力してください。");
29
+ return;
30
+ }
31
+
32
+ for (int i = 0; i < values.length; i++) {
33
+ int minIdx = i;
34
+ for (int j = i + 1; j < values.length; j++) {
35
+ if (valueInt[j] < valueInt[minIdx]) {
36
+ minIdx = j;
37
+ }
38
+ }
39
+ int temp = valueInt[i];
40
+ valueInt[i] = valueInt[minIdx];
41
+ valueInt[minIdx] = temp;
42
+ }
43
+ for (int i = 0; i < values.length; i++) {
44
+ out.println(valueInt[i]);
45
+ out.println( "<br>" );
46
+ }
47
+ }
48
+ }
49
+ 以下html
50
+ <!DOCTYPE html>
51
+ <html>
52
+ <head>
53
+ <meta charset="UTF-8">
54
+ <title>問題</title>
55
+ </head>
56
+ <body>
57
+ 半角数字を入力してください。
58
+ <form action="text" method="post">
59
+ <input type="text" name="num" value="">
60
+ <input type="text" name="num" value="">
61
+ <input type="text" name="num" value="">
62
+ <input type="text" name="num" value="">
63
+ <input type="text" name="num" value="">
64
+
65
+ <p><input type="submit"name="button" value="送信"></p>
66
+ </form>
67
+ </body>
68
+ </html>
69
+ ```
70
+ ### 補足情報(FW/ツールのバージョンなど)
71
+ ここにより詳細な情報を記載してください。

1

削除

2021/07/05 02:22

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- サーブレットプログラムで半角のみ表示させたいです。
1
+ 削除、、、、、、、、、、、、、、、、、、、、、、、、、、、、
body CHANGED
@@ -1,84 +1,1 @@
1
- ### 前提・実現したいこと
2
-
3
- Java初心者です。
4
-
5
- htmlファイルでテキストボックスに任意の値(半角数字)を5つ入力し昇順に並べ替えるというプログラムを作成中です。
6
- エラーなく実行できるのですが全角の数値も半角として表示されてしまうので
1
+ 削除、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
7
- 全角の数値の時に例外処理をしたいのですが、方法がわかりません。
8
-
9
-
10
- ```ここに言語名を入力
11
- package servlet;
12
-
13
-
14
- import java.io.IOException;
15
- import java.io.PrintWriter;
16
-
17
- import javax.servlet.ServletException;
18
- import javax.servlet.http.HttpServlet;
19
- import javax.servlet.http.HttpServletRequest;
20
- import javax.servlet.http.HttpServletResponse;
21
-
22
- public class Servlet extends HttpServlet {
23
- public void doPost(HttpServletRequest request, HttpServletResponse response)
24
- throws IOException, ServletException {
25
- request.setCharacterEncoding("UTF-8");
26
- String[] values = request.getParameterValues("num");
27
- response.setContentType("text/html; charset=UTF-8");
28
- PrintWriter out = response.getWriter();
29
-
30
- out.println("<body>" + "昇順表示" + "</body>" + "<br>");
31
- int[] valueInt = new int[values.length];
32
- try {
33
- for (int i = 0; i < values.length; i++) {
34
- valueInt[i] = Integer.parseInt(values[i]);
35
- }
36
- } catch (NumberFormatException ex) {
37
- out.println("全てのテキストボックスに半角数字を入力してください。");
38
- return;
39
- }
40
-
41
- for (int i = 0; i < values.length; i++) {
42
- int minIdx = i;
43
- for (int j = i + 1; j < values.length; j++) {
44
- if (valueInt[j] < valueInt[minIdx]) {
45
- minIdx = j;
46
- }
47
- }
48
- int temp = valueInt[i];
49
- valueInt[i] = valueInt[minIdx];
50
- valueInt[minIdx] = temp;
51
- }
52
- for (int i = 0; i < values.length; i++) {
53
- out.println(valueInt[i]);
54
- out.println( "<br>" );
55
- }
56
- }
57
- }
58
-
59
- 以下html
60
- <!DOCTYPE html>
61
- <html>
62
- <head>
63
- <meta charset="UTF-8">
64
- <title>問題</title>
65
- </head>
66
- <body>
67
- 半角数字を入力してください。
68
- <form action="text" method="post">
69
- <input type="text" name="num" value="">
70
- <input type="text" name="num" value="">
71
- <input type="text" name="num" value="">
72
- <input type="text" name="num" value="">
73
- <input type="text" name="num" value="">
74
-
75
- <p><input type="submit"name="button" value="送信"></p>
76
- </form>
77
- </body>
78
- </html>
79
- ```
80
-
81
-
82
- ### 補足情報(FW/ツールのバージョンなど)
83
-
84
- ここにより詳細な情報を記載してください。