JAVA例3)条件制御文(1)
11627 ワード
例14 入力した年が閏年であるかどうかを判断する
インスタンス15 抽選活動
例16 小九九乗算表
例17 素数のリスト方法
インスタンス18 Javaでの再帰
実例19男子学生と女子学生はそれぞれ何人ですか?
例20 水仙の数を求めます
例21 任意の1つの正数の階乗を求めます
例22 nのn次方を求める
インスタンス23 forループによるジオメトリの出力
インスタンス24 楊輝三角
import java.util.Scanner;
public class Control_01 {
public static void main(String[] args) {
System.out.println(" :");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine(); //
if (str.length() != 4) { //
System.out.println(" 4 !!");
}
int year = Integer.parseInt(str); // int
boolean flag1 = year % 400 == 0; // 400 ,
boolean flag2 = (year % 4 == 0) && (year % 100 != 0);
// 4 100 ,
String message = (flag1 || flag2) ? " " : " "; // year
System.out.println(year + " " + message); //
}
}
インスタンス15 抽選活動
import java.util.Random;
public class Control_02 {
final static int num = 4; //
public static void main(String[] args) {
Random rd = new Random(); // Random
String str = "";
for (int i = 0; i < num; i++) { // 4 0 1
String s = rd.nextInt(2) + "";
str = str + randomSelection(s); // randomSelection
}
System.out.println(" :" + str);
System.out.println(drawaLottery(str));
}
public static String randomSelection(String str) {//
if (str.equals("1")) { //1: ;0:
return "★";
} else {
return "☆";
}
}
public static String drawaLottery(String str) { //
if (str.equals("★★★★")) {
return " , 1000 ";
} else if (str.equals("★★★☆")) {
return " , 80 ";
} else if (str.equals("★★☆☆")) {
return " , 8000 ";
} else {
return " !!";
}
}
}
例16 小九九乗算表
public class Nine {
public static void main(String[] args) {
for (int i = 1, j = 1; j <= 9; i++) {
System.out.print(i + "*" + j + "=" + i * j + " ");
if (i == j) {
i = 0;
j++;
System.out.println();
}
}
}
}
例17 素数のリスト方法
import java.util.Arrays;
public class ForCycle_06 {
private static boolean[] primeNumber(int num){ //
if(num<=0){ //
System.out.println(" 0");
return null;
}
boolean[]primes=new boolean[num+1]; // , +1.
primes[1]=false; // 1 , 1
Arrays.fill(primes, 2,num+1,true); // true
int n=(int)Math.sqrt(num); //Math.sqrt
for(int i=1;i<n;i++){
if(primes[i]){ // , i
for(int j=2*i;j<=num;j+=i){
primes[j]=false;
}
}
}
return primes;
}
public static void showPrimeNumber(int num){ //
boolean [] primes=primeNumber(num); //
int n=0;
if(primes!=null){
for(int i=1;i<primes.length;i++){ //
if(primes[i]){ // true,
System.out.print(i+" "); //
if(++n%10==0) // 10
System.out.println();
}
}
System.out.println();
}
System.out.println(" "+n+" ");
}
public static void main(String[] args) {
int num = 100; //
System.out.println(" "+num+" :");
showPrimeNumber(num); //
}
}
インスタンス18 Javaでの再帰
public class ForCycle_07 {
public static int circleFactorial(int n) { //
int sum = 1;
if (n < 0) { // n
throw new IllegalArgumentException(" !"); //
}
for (int i = 1; i <= n; i++) { // n
sum *= i; //
}
return sum; //
}
public static int recursiveFactorial(int n) { //
int sum = 1;
if (n < 0)
throw new IllegalArgumentException(" !"); //
if (n == 1) {
return 1; // n=1
} else {
sum = n * recursiveFactorial(n - 1); //
return sum;
}
}
public static void main(String[] args) {
int n = 5;
System.out.println(" " + n + " " +
"
:" // circleFactorial
+ circleFactorial(n)+"
");
System.out.println(" " + n + " " +
"
:" // recursiveFactorial
+ recursiveFactorial(n));
}
}
実例19男子学生と女子学生はそれぞれ何人ですか?
public class ForCycle_02 {
public static void main(String[] args) {
ForCycle_02 fc02 = new ForCycle_02(); // ,
int sum; //
System.out.println("100~999 :");
for (int i = 100; i <= 999; i++) { // , 100-999
int a = fc02.getSumOfCubic(i / 100); // i / 100
int b = fc02.getSumOfCubic((i / 10) % 10); // (i / 10) % 10
int c = fc02.getSumOfCubic(i % 10); // i % 10
sum = a + b + c; //
if (sum == i) { // ,
System.out.print(i + " ");
}
}
}
public int getSumOfCubic(int num) { // num
num = num * num * num;
return num;
}
}
例20 水仙の数を求めます
public class ForCycle_02 {
public static void main(String[] args) {
ForCycle_02 fc02 = new ForCycle_02(); // ,
int sum; //
System.out.println("100~999 :");
for (int i = 100; i <= 999; i++) { // , 100-999
int a = fc02.getSumOfCubic(i / 100); // i / 100
int b = fc02.getSumOfCubic((i / 10) % 10); // (i / 10) % 10
int c = fc02.getSumOfCubic(i % 10); // i % 10
sum = a + b + c; //
if (sum == i) { // ,
System.out.print(i + " ");
}
}
}
public int getSumOfCubic(int num) { // num
num = num * num * num;
return num;
}
}
例21 任意の1つの正数の階乗を求めます
public class ForCycle_03 {
public static void main(String[] args) {
System.out.println(" :");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int layer = num;
int j = 1;
loop: while (true) { // break
layer = layer * (num - j); //
j++; // j
if (j == num)
break loop; // j>I,
}
System.out.println(num + " :" + layer);
}
}
例22 nのn次方を求める
package Chapter03;
import java.util.Scanner;
public class ForCycle_04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(" :");
int num = sc.nextInt(); // num
System.out.println(" :");
int power = sc.nextInt(); //
int result = 1; //
for (int i = 0; i < power; i++) {
result = result * num;
}
System.out.println(num + " " + power + " " + result);
}
}
インスタンス23 forループによるジオメトリの出力
public class ForCycle_05 {
public static void showEquilateral(int row) { //
for (int i = 1; i < row; i++) { //
for (int j = 1; j <= row - i; j++) { // j , = -1
System.out.print(" ");
}
for (int x = 1; x <= i * 2 - 1; x++) { // x "*", = *2-1
System.out.print("*");
}
System.out.println(); //
}
}
public static void showRhombus(int row) { //
if (row >= 1) { //
int x, y;
for (x = 1; x <= row; x++) { //
for (y = 1; y <= row - x; y++) //
System.out.print(" ");
for (y = 1; y <= 2 * x - 1; y++) // "#"
System.out.print("#");
System.out.println(); //
}
for (x = 1; x <= row; x++) { //
for (y = 1; y <= x; y++) // ,
System.out.print(" ");
for (y = 1; y <= 2 * (row - x) - 1; y++) // "#"
System.out.print("#");
System.out.println(); //
}
} else {
System.out.println(" , !!!");
}
}
public static void showLettersTriangle(int row) { //
for (int i = 1; i <= row; i++) { // row , row
for (int x = 1; x < i; x++) //
System.out.print((char) (x + 96)); // x + 96
for (int y = i; y != 0; y--) //
System.out.print((char) (y + 96));
System.out.println(); //
}
}
public static void main(String[] args) {
System.out.println("(1) ");
showEquilateral(7); // 7
System.out.println("(2) ");
showRhombus(5); // 5
System.out.println("(3) ");
showLettersTriangle(5); // 5
}
}
インスタンス24 楊輝三角
public class ForCycle_08 {
public static void yh_Triangle(int array[][], int rows) { //
for (int i = 0; i <= rows; i++) { //
for (int j = 0; j <= array[i].length - 1; j++) { //
if (i == 0 || j == 0 || j == array[i].length - 1)
array[i][j] = 1; // 1
else
//
array[i][j] = array[i - 1][j - 1] + array[i - 1][j];
}
}
for (int i = 0; i <= rows; i++) { //
for (int j = 0; j <= array[i].length - 1; j++) //
System.out.print(array[i][j] + " "); //
System.out.println(); //
}
}
public static void main(String args[]) {
final int rows = 7; //
int array[][] = new int[rows + 1][]; // , 8
for (int i = 0; i <= rows; i++) { //
array[i] = new int[i + 1];
}
System.out.println(" :");
yh_Triangle(array, rows); //
}
}