回答編集履歴

2

コードの改善

2020/08/05 04:15

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -56,13 +56,7 @@
56
56
 
57
57
  class Test {
58
58
 
59
- static int getGrade(int x) {
60
-
61
- int g = x / 10 - 5;
62
-
63
- return g < 0 ? 0 : g > 4 ? 4 : g;
59
+ static int getGrade(int x) { return x<60 ? 0 : x>=90 ? 4 : x/10 - 5; }
64
-
65
- }
66
60
 
67
61
  public static void main(String[]args) {
68
62
 

1

コードの追加

2020/08/05 04:15

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -21,3 +21,59 @@
21
21
  ```
22
22
 
23
23
  110点以上は入力しないでください。
24
+
25
+
26
+
27
+ **追記**
28
+
29
+ 解決済になりましたね。
30
+
31
+ こんな割り算を悪用したコードでよいのかな。それなら、さらに、
32
+
33
+ ```Java
34
+
35
+ class Test {
36
+
37
+ static int getGrade(int x) { return x/60*(x/10-5)-x/100; }
38
+
39
+ public static void main(String[]args) {
40
+
41
+ System.out.print("テストの点数を入力してください ");
42
+
43
+ int g = getGrade(new java.util.Scanner(System.in).nextInt());
44
+
45
+ System.out.println("不可良優秀".substring(g, g + 1 + (5 - g)/5));
46
+
47
+ }
48
+
49
+ }
50
+
51
+ ```
52
+
53
+ でも、割り算は遅いから控えようというのなら、
54
+
55
+ ```Java
56
+
57
+ class Test {
58
+
59
+ static int getGrade(int x) {
60
+
61
+ int g = x / 10 - 5;
62
+
63
+ return g < 0 ? 0 : g > 4 ? 4 : g;
64
+
65
+ }
66
+
67
+ public static void main(String[]args) {
68
+
69
+ System.out.print("テストの点数を入力してください ");
70
+
71
+ int g = getGrade(new java.util.Scanner(System.in).nextInt());
72
+
73
+ System.out.println("不可良優秀".charAt(g) + (g>0 ? "" : "可"));
74
+
75
+ }
76
+
77
+ }
78
+
79
+ ```