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

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

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

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

Q&A

1回答

1297閲覧

Javaでキャスト演算を使って、小数点を含めた、各スコアの平均点を求めたい。

sataaka

総合スコア0

Java

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

0グッド

0クリップ

投稿2021/11/20 09:50

前提・実現したいこと

各スコアの平均点を求めたい

今わからないところは、
・<%%>スクリプトレットにどのように式を詰めるべきかがわからないです。
・問題には、キャスト演算を使って、求めなさいとあり、どのように実装を行うのかで悩んでいます。
ここに質問の内容を詳しく書いてください。
javaを使って各スコアの平均点を求めています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

該当のソースコード

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// Aさんのスコアを国語、数学、英語の順に配列へ入れる
// ※この処理は変更しないでください。
int[] aScore = { 100, 54, 69 };

// Bさんのスコアを国語、数学、英語の順に配列へ入れる // ※この処理は変更しないでください。 int[] bScore = { 42, 95, 60 }; // ※以降のコメントを参考に、必要な処理を実装してください // 各平均を入れるための配列 // 各平均点を計算し、配列へ計算結果を代入 // ただし、平均点を計算する際にint型の値を小数点以下が // 扱える型にキャストする(キャスト演算子を使用してください)必要がある // そのキャストした値を割って、平均点を求める // (例: (double) 15 / 2 // → int型の15がdouble型になり、その値を2で割るので、 // 結果は、7.5になる) // (なお、キャスト演算子は、「/」演算子より計算の優先順位が高い) // 全点数の合計を求め、変数へ代入 // 合計点数の平均を求めて、変数へ代入

%>

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Java基礎_演習問題2</title> <style> table { border-collapse: collapse; }

table th, table td {
border: solid 1px black;
}
</style>

</head> <body> <!-- 必要に応じて処理を変更してください --> <h1>Java基礎 - 演習問題2</h1> <h2>成績一覧</h2> <table> <tr> <th></th> <th>国語</th> <th>数学</th> <th>英語</th> </tr> <tr> <td>Aさん</td> <td> <% out.println(aScore[0]); %> </td> <td> <% out.println(aScore[1]); %> </td> <td> <% out.println(aScore[2]); %> </td> </tr> <tr> <td>Bさん</td> <td> <% out.println(bScore[0]); %> </td> <td> <% out.println(bScore[1]); %> </td> <td> <% out.println(bScore[2]); %> </td> </tr> </table> <h2>平均点</h2> <p> <% out.println("国語:"+(100+42)); %> </p> <p>数学:xxx</p> <p>英語:xxx</p> <p>合計:xxx</p> </body> </html>

試したこと

googleで調べた結果、for文を使って、平均点を出している。

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

使用しているツールは、Eclipse _2021-12(jsp(JSPファイル)を使っています。

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

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

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

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

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

jimbe

2021/11/21 04:06 編集

java と JSP は違うモノです。 ご質問のタグを変更されたほうが良いかと思います。 コードはマークダウン記法を用いてご提示ください。 マークダウンに関しましてはヘルプをご参照ください。
sataaka

2021/11/24 20:07

すみません! 未熟者の質問でした。 マークダウン記法というのですね。 なんとか解決することができました。
guest

回答1

0

「数学」「英語」「合計」の出力方法は、必要に応じて「国語」に合わせてください。

JSP

1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3<% 4 // Aさんのスコアを国語、数学、英語の順に配列へ入れる 5 // ※この処理は変更しないでください。 6 int[] aScore = { 100, 54, 69 }; 7 8 // Bさんのスコアを国語、数学、英語の順に配列へ入れる 9 // ※この処理は変更しないでください。 10 int[] bScore = { 42, 95, 60 }; 11 12 // ※以降のコメントを参考に、必要な処理を実装してください 13 14 // 各平均を入れるための配列 15 double[] averages = new double[3]; 16 17 // 各平均点を計算し、配列へ計算結果を代入 18 // ただし、平均点を計算する際にint型の値を小数点以下が 19 // 扱える型にキャストする(キャスト演算子を使用してください)必要がある 20 // そのキャストした値を割って、平均点を求める 21 // (例: (double) 15 / 2 22 // → int型の15がdouble型になり、その値を2で割るので、 23 // 結果は、7.5になる) 24 // (なお、キャスト演算子は、「/」演算子より計算の優先順位が高い) 25 for (int i = 0; i < 3; i ++) { 26 averages[i] = (double)(aScore[i] + bScore[i]) / 2; 27 } 28 29 // 全点数の合計を求め、変数へ代入 30 int total = 0; 31 for (int i = 0; i < 3; i ++) { 32 total += aScore[i] + bScore[i]; 33 } 34 35 // 合計点数の平均を求めて、変数へ代入 36 double average = (double)total / 6; 37%> 38<!DOCTYPE html> 39<html> 40 <head> 41 <meta charset="UTF-8"> 42 <title>Java基礎_演習問題2</title> 43 <style> 44 table { 45 border-collapse: collapse; 46 } 47 48 table th, table td { 49 border: solid 1px black; 50 } 51 </style> 52 53 </head> 54 <body> 55 <!-- 必要に応じて処理を変更してください --> 56 <h1>Java基礎 - 演習問題2</h1> 57 <h2>成績一覧</h2> 58 <table> 59 <tr> 60 <th></th> 61 <th>国語</th> 62 <th>数学</th> 63 <th>英語</th> 64 </tr> 65 <tr> 66 <td>Aさん</td> 67 <td> 68 <% 69 out.println(aScore[0]); 70 %> 71 </td> 72 <td> 73 <% 74 out.println(aScore[1]); 75 %> 76 </td> 77 <td> 78 <% 79 out.println(aScore[2]); 80 %> 81 </td> 82 </tr> 83 <tr> 84 <td>Bさん</td> 85 <td> 86 <% 87 out.println(bScore[0]); 88 %> 89 </td> 90 <td> 91 <% 92 out.println(bScore[1]); 93 %> 94 </td> 95 <td> 96 <% 97 out.println(bScore[2]); 98 %> 99 </td> 100 </tr> 101 </table> 102 103 <h2>平均点</h2> 104 <p> 105 <% 106 out.println("国語:" + averages[0]); 107 %> 108 </p> 109 <p>数学:<%=averages[1] %></p> 110 <p>英語:<%=averages[2] %></p> 111 <p>合計:<%=average %></p> 112 </body> 113</html>

投稿2021/11/21 09:01

momodx

総合スコア185

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問