paizaラーニングのレベルアップ問題集「二重ループメニュー 」からの出典です。
paiza.jp
Javaによる「二重ループメニュー 」問題集(基本編)と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 指定された数字までの出力
/* Javaによる「二重ループメニュー 」問題集(基本編) STEP: 1 指定された数字までの出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i = 1; i <= n; i++){ if(i == 1){ System.out.print(i); }else{ System.out.print(" " + i); } } } }
・STEP: 2 指定された数字までの出力
/* Javaによる「二重ループメニュー 」問題集(基本編) STEP: 2 指定された数字までの出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i = 1; i <= n; i++){ System.out.println(i); } } }
・STEP: 3 指定された行数の数字の出力
/* Javaによる「二重ループメニュー 」問題集(基本編) STEP: 3 指定された行数の数字の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String s = "1 2 3 4 5"; for(int i = 0; i < n; i++){ System.out.println(s); } } }
・STEP: 4 指定された範囲・行数の数字の出力
/* Javaによる「二重ループメニュー 」問題集(基本編) STEP: 4 指定された範囲・行数の数字の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); for(int x = 0; x < k; x++){ for(int y = 1; y <= n; y++){ if(y < n){ System.out.print(y + " "); }else{ System.out.println(y); } } } } }
・STEP: 5 二次元配列の出力
/* Javaによる「二重ループメニュー 」問題集(基本編) STEP: 5 二次元配列の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); int[][] num = new int[n][k]; for(int i = 0; i < n; i++){ for(int j = 0; j < k; j++){ num[i][j] = sc.nextInt(); if(j < k-1){ System.out.print(num[i][j] + " "); }else{ System.out.println(num[i][j]); } } } } }
・STEP: 6 二次元配列での要素の検索
/* Javaによる「二重ループメニュー 」問題集(基本編) STEP: 6 二次元配列での要素の検索 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); int[][] num = new int[n][k]; for(int i = 0; i < n; i++){ for(int j = 0; j < k; j++){ num[i][j] = sc.nextInt(); if(num[i][j] == 1){ System.out.print((i+1) + " " + (j+1)); } } } } }
・STEP: 7 二次元配列の最大の要素
/* Javaによる「二重ループメニュー 」問題集(基本編) STEP: 7 二次元配列の最大の要素 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); int[][] num = new int[n][k]; int max = 0; for(int i = 0; i < n; i++){ for(int j = 0; j < k; j++){ num[i][j] = sc.nextInt(); if(max < num[i][j]){ max = num[i][j]; } } } System.out.println(max); } }
・STEP: 8 二次元配列の行ごとの和
/* Javaによる「二重ループメニュー 」問題集(基本編) STEP: 8 二次元配列の行ごとの和 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); int[][] num = new int[n][k]; for(int i = 0; i < n; i++){ int ans = 0; for(int j = 0; j < k; j++){ num[i][j] = sc.nextInt(); ans = ans + num[i][j]; } System.out.println(ans); } } }
・STEP: 9 さまざまな長さの配列の和
/* Javaによる「二重ループメニュー 」問題集(基本編) STEP: 9 さまざまな長さの配列の和 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i = 0; i < n; i++){ int m = sc.nextInt(); int ans = 0; for(int j = 0; j < m; j++){ int num = sc.nextInt(); ans = ans + num; } System.out.println(ans); } } }
・STEP: 10 階段の出力
/* Javaによる「二重ループメニュー 」問題集(基本編) STEP: 10 階段の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i = 0; i < n; i++){ for(int j = 1; j <= i + 1; j++){ if(j < i+1){ System.out.print(j + " "); }else{ System.out.println(j); } } } } }
・FINAL問題: 二重ループ:基本編 積の最大
/* Javaによる「二重ループメニュー 」問題集(基本編) FINAL問題: 二重ループ:基本編 積の最大 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); int foo[] = new int[n]; int bar[] = new int[k]; for(int i = 0; i < n; i++){ int num = sc.nextInt(); foo[i] = num; } for(int i = 0; i < k; i++){ int num = sc.nextInt(); bar[i] = num; } int ans = -10000; for(int i = 0; i < n; i++){ for(int j = 0; j < k; j++){ int foobar = foo[i]*bar[j]; if(foobar > ans){ ans = foobar; } } } System.out.println(ans); } }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。