Javaプログラミング基礎-----プロセス制御


前回のブログに続いて、今回はJavaの流れのコントロールについてお話しします.テーマだけを見て、文法を話さないでください.テーマからJavaのプロセス制御を学ぶ.
キーボードから0-100の成績を入力し、switch文で優良中合格不合格五等を実現し、出力します.
 
import java.util.Scanner;

public class Demo1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);
		int num;
		System.out.println("       :");
		num = scanner.nextInt();
		switch (num/10) {
		case 9 :
		case 10 :
			System.out.println("  ");
			break;
		case 8 :
			System.out.println("  ");
			break;
		case 7 :
			System.out.println("  ");
			break;
		case 6 :
			System.out.println("  ");
			break;
		default:
			System.out.println("   ");
			break;
		}

switch文の重点はswitchの后ろに続くのは:浮動小数点型と文字型を除いて、その他はすべて支持して、同时にcaseの后ろのタイプはswitchの后ろのデータ型と一致しなければなりません!!
キーボードから1つの数を入力し、その数が3で除算され、7で除算されるかどうかを判断します.
import java.util.*;
class App4_8 
{
	public static void main(String[] args)	
	{
		Scanner reader = new Scanner(System.in);
		int num;
		num = reader.nextInt();
		if (num%7 == 0 && num%3 == 0)
		{
			System.out.println("       ");
		}
		else
		{
			System.out.println("        ");
		}
	
	}
}

この問題は簡単な入出力に簡単なif判断を加えることです.
キーボードにnを入力し、プログラミング計算sum=1-1/2!+1/3!-...(-1)(n-1)二乗*1/n!で行ないます.
import java.util.Scanner;

public class Demo2 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n;
		int flag = -1;
		float add_sum = 0;
		int mul_sum;
		System.out.println("       :");
		n = scanner.nextInt();
		for (int i = 1; i <= n; i++) {
			mul_sum = 1;
			for (int j = 1; j <= i; j++) {
				mul_sum *= j;				
			}
			flag = flag * -1;
			add_sum = (float) (add_sum + 1.0/(flag * mul_sum));	
		}
		System.out.println(add_sum);
	}
}

注意点:データ型は必ず予め設定しておき、記号の変化にも注意してください.
Javaプログラムを作成し、キーボードにnを入力し、1を計算して出力します!+2!+...+n!の結果
import java.util.*;
public class App4_4 {
	public static void main(String[] args)
{
		int num;
		int add;
		int sum = 0;
		System.out.println("       n:");
		Scanner reader = new Scanner(System.in);
		num = reader.nextInt();
		for (int i = 1;i <= num ;i++ )
		{
			add = 1;
			for (int j = 1;j <= i ;j++ )
			{      
				add = add * j;
			}
			sum = sum + add;
		}
		System.out.println(sum);
	}
}

注意点:addというパラメータの値は、2回目のループごとに1に再割り当てされます!!!
すべての水仙の数を求める.
import java.util.*;//         
public class App4_5 
{
	public static void main(String[] args)	
	{
		int i;
		int a,b,c;
		for (i = 100;i <= 999 ;i++)
		{
			a = i/100;
			b = i/10%10;
			c = i%10;
			if (a*a*a+b*b*b+c*c*c == i)
			{
				System.out.println(i);
			}
		}

	}
}

 
キーボードから整数を入力し、その数が完全数であるか否かを判断し、完全数は全ての因数(自身を含まない)の和であり、例えば28=1+2+4+7+14である.
 
import java.util.*;
public class  App4_6
{
	public static void main(String[] args)	
	{
		int i;
		int num;
		int sum = 0;
		Scanner reader = new Scanner(System.in);
		num = reader.nextInt();
		for (i = 1;i < num ; i++)
		{
			if (num%i == 0)
			{
				sum+=i;//      ,       
			}
		}
		if (sum == num)
		{
			System.out.println("       ");
		}
		else 
		{
			System.out.println("        ");
		}
	}
}

 
整数の各数値の和を計算して出力します.
import java.util.Scanner;

public class Demo3 {

	public static void main(String[] args) {
		// TODO          
		Scanner scanner = new Scanner(System.in);
		System.out.println("       :");
		int num = scanner.nextInt();
		int sum = 0;
		do {
			sum += num%10;
			num = num/10;
		} while (num!=0);
		System.out.println("       :"+sum);
	}
}

 
長さ3000メートルのロープが設置されていて、毎日半分減らして、何日かかりますか?ロープの長さは5メートル未満ですか?
 
public class Demo4 {

	public static void main(String[] args) {
		// TODO          
		double n = 3000;
		int day = 0;
		while (n >= 5) {
			n = n/2;
			day++;			
		}
		System.out.println("    "+day+"    5 ");
	}
}

注意点:データ型に注意!
次のパターンをプログラミングして出力します.
1   3   6   10   15
2   5   9   14
4   8   13
7   12
11
class Diff
 {
	public static void main(String[] args) 
{
		int i;
		int j;
		int sumi = 1;
		int sumj = 0;
		for (i = 0;i <= 4 ;i++ )
		{
			sumi = sumi + i;
			System.out.print(sumi);
			System.out.print("   ");
			sumj = sumi;
			for (j = i+2;j <= 5 ;j++ )
			{
				sumj = sumj + j;
				System.out.print(sumj);
				System.out.print("   ");

			}
			System.out.println();

		}
	}
}

最后のテーマの解法はとても多くて、私の解法は最も良くなくて、兴味のある人は试してみることができます!上に間違いがあるところは批判して指摘してください.
最后に、やはりその言叶で、兴味のある友达は一绪に交流を学ぶことができます!