1. 程式人生 > >Java入門小程式

Java入門小程式

學完C後,便想上手Java,這兩天寫了一些小程式碼

1.打印出九九乘法表

package 九九乘法表;

public class demo {
	public static void main(String[] args)
	{
		for(int i= 1; i<= 9;i++)
		{
			for(int j =0; j<=i;j++)
			{
				System.out.println(j+"*"+i+"="+(i*j)+"\t");
			}
			System.out.println();
		}
	}
}

2.用 while 和 for 迴圈分別計算 100 以內奇數和偶數的和,並輸出。

package demo;

//用 while 和 for 迴圈分別計算 100 以內奇數和偶數的和,並輸出。
public class demo {
	public static void main(String[] args)
	{
		int sum1 = 0;
		int sum2 = 0;
		//測試for迴圈
		for(int i = 1; i<100 ;i++)
		{
			if(i % 2 ==0)
			{
				sum1+=i;
			}
		}
		//測試while迴圈
		int j = 1;
		while( j<100)
		{
			if(j % 2 != 0)
			{
				sum2+=j;
			}
			j++;
		}
		System.out.println("for迴圈輸出:\n"+"100內偶數和:"+sum1);
		System.out.println("while迴圈輸出:\n"+"100以內奇數和"+sum2);
	}
}

3.用 while 和 for 迴圈輸出 1-1000 之間能被 5 整除的數,且每行輸出 3 個

//用 while 和 for 迴圈輸出 1-1000 之間能被 5 整除的數,且每行輸出 3 個
package demo;

public class demo {
	public static void main(String[] args)
	{
		//while迴圈
		int i = 1;
		int count = 0;
		int num = 0;
		System.out.println("while迴圈:");
		while(i<1000)
		{
			if(i%5==0)
			{
				System.out.println(i);
				count++;
			}
			if(count%3==0)
			{
				System.out.print("\n");
			}
			i++;
		}
		//for迴圈
		System.out.println("for迴圈:");
		for(int j = 1;j < 1000;j++)
		{
			if(j%5==0)
			{
				System.out.println(j);
				num++;
			}
			if(num%3==0)
			{
				System.out.print("\n");
			}
		}
	}
}

4.程式設計求:∑1+∑2+……+∑100

package demo;

public class demo {
	public static void main(String[] args)
	{
		int count = 0;
		for(int i = 0;i<=100;i++)
		{
				count+=i;
		}
		System.out.println("一加一百的和為:"+count);
	}
}

5.生成 0-100 隨機數,直到生成 88 為止,停止迴圈!

package demo;
import java.util.Random;

public class demo {
	public static void main(String[] args)
	{
		int a =-1;
		Random ss = new Random();
		while(a!=88)
		{
			a = ss.nextInt(101);
			System.out.println("隨機數為:"+a);
		}
	}
}

6.打印出實心 10*10 正方形、空心 10*10 正方形

package demo;
//打印出實心 10*10 正方形、空心 10*10 正方形

public class demo {
	public static void main(String[] args)
	{
		int num = 10;
		//實心正方形
		for(int i = 0;i<num;i++)
		{
			for(int j= 0;j<num;j++)
			{
				System.out.print("*");
				if(j==9)
				{
					System.out.println();
				}
			}
		}
		System.out.println("\n|||||||||||||||||||||||||||||||||||||||||||||||\n");
		//空心的正方形
		for(int i=0;i<num;i++)
		{
			System.out.print("*");
		}
		System.out.print("\n");
		
		for(int i= 0;i<num-2;i++)
		{
			for(int j =0; j<num-2; j++)
			{
				if(j==0)
				{
					System.out.print("*");
				}
				System.out.print(" ");
				if(j==num-3)
				{
					System.out.println("*");
				}
			}
		}
		
		for(int i=0;i<num;i++)
		{
			System.out.print("*");
		}
	}
}

7.將上面列印實心和空心正方形練習中相關程式碼,封裝成方法,便於重用

package demo;
import java.util.Scanner;

public class demo {
		private int num;
		
		demo()
		{
			System.out.println("請輸入正方形的邊長:");
			Scanner ss = new Scanner(System.in);
			num = ss.nextInt();
		}
		
		public void shi_zheng()
		{
			for(int i = 0;i<num;i++)
			{
				for(int j= 0;j<num;j++)
				{
					System.out.print("*");
					if(j==num-1)
					{
						System.out.println();
					}
				}
			}
		}
		
		public void xu_zheng()
		{
			for(int i=0;i<num;i++)
			{
				System.out.print("*");
			}
			System.out.print("\n");
			
			for(int i= 0;i<num-2;i++)
			{
				for(int j =0; j<num-2; j++)
				{
					if(j==0)
					{
						System.out.print("*");
					}
					System.out.print(" ");
					if(j==num-3)
					{
						System.out.println("*");
					}
				}
			}
			
			for(int i=0;i<num;i++)
			{
				System.out.print("*");
			}
		}
}
		
package demo;

public class testdemo {
	public static void main(String[] args)
	{
		demo p = new demo();
		System.out.println("實心正方形:");
		p.shi_zheng();
		System.out.println("空心正方形:");
		p.xu_zheng();
	}
}

8.使用遞迴演算法完成階乘:1!+2!+3!+4!+5!

package demo;
import java.util.Scanner;

//思路:先用遞迴求出一個數的階乘,接著for迴圈累加求和。
public class demo {
	//a!
	static long a(int m)
	{
			if(m==1)
			{
				return 1;
			}
			else 
			{
				return  m*a(m-1);
			}
	}
	public static void main(String[] args)
	{
		int m = 0;
		long sum =0;
		System.out.println("請輸入階乘計算的最後一個整數:");
		Scanner ss = new Scanner(System.in);
		m = ss.nextInt();
		ss.close();
		//a!+(a-1)!+......+1!
		for(int i = m;i>0;i--)
		{
			sum = sum  + a(i) ;
		}
		System.out.println(sum);
	}
}