Java實驗報告(一)

##<center>Java實驗報告(一)<center> ##實驗過程 ###1. 打印輸出全部的「水仙花數」,所謂「水仙花數」是指一個3位數,其中各位數字立方和等於該數自己。例如,153是一個「水仙花數」。 實驗源碼:java

import java.lang.Math;
class Narcissus{
	public static void main(String[] args){
		int num1,num2,num3;
			int count = 0;
			for(int i = 100;i < 1000;i++){
				num1 = i / 100;
				num2 = (i % 100) / 10;
				num3 = i % 10;
				if(Math.pow(num1,3)+Math.pow(num2,3)+Math.pow(num3,3) == i){
					count = 1;
					System.out.println(i+"是水仙花數");			
				}
			}
			if(count == 0){
				System.out.print("No");
			}
			System.out.println();
		
	}
}

實驗結果: 編程

###2. 編寫Java程序,求13-23+33-43+…+973-983+993-1003的值。 實驗源碼:3d

class Staggered{
	public static void main(String[] args){
		int num = 13;
		int flag = 1;
		int sum = 0;
		for(int i = 0;i <= 99;i++){
			sum += flag * num;
			flag = -flag;
			num += 10;
		}
		System.out.println(sum);
		
		
	}
}

實驗結果: code

###3. 編程求1!+2!+3!+…+20!。 實驗源碼:blog

class Factorial{
	public static void main(String[] args){	
		long result = 0;
		for(int i = 1;i <= 20;i++){
			long product = 1;
			for(int j = 1;j <= i;j++){
				product *= j;
				
			}
			result += product;
		}
		System.out.println("1!+2!+3!+…+20! = "+result);
	}
}

實驗結果: ci

###4. 編寫Java程序,計算8+88+888+…前10項之和。 實驗源碼:源碼

class Summation{
	public static void main(String[] args){

		String num = "";
		long sum = 0;
		for(int i = 1;i <= 10;i++){//求前N項的和
			num +='8';
			sum += Long.parseLong(num);
		}
		System.out.println(sum);
	}
}

實驗結果: io

###5. 一個數若是剛好等於它的因子之和,這個數就稱爲完數。編寫程序輸出1000之內的全部完數。 實驗源碼:for循環

class Perfect{
	public static void main(String[] args){
		
		for(int i = 1;i < 1000;i++){
                        if(i == 1){
                            continue;
                        }
			int sum = 1;
			for(int j = 2;j < i;j++){
				if(i % j == 0){
					sum += j;
				}
			}
			if(sum == i){
				System.out.println(i + "是一個完數");				
			}
			
		}
	}	
}

實驗結果: class

###6. 編寫應用程序,輸出知足1+2+3+…+n<8888的最大正整數。 實驗源碼:

class Simple{
	public static void main(String[] args){
		int sum = 0;
		int i = 1;
		while(sum < 8888){
			sum += i;
			i++;
		}
		System.out.println("知足1+2+3+…+n<8888的最大正整數爲"+i);
	}
}

實驗結果:

###7. 使用for循環打印下面的圖形。

實驗源碼:

import java.util.Scanner;

class Triangle {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();// 三角形的層數
		String op = sc.next();// 三角形的符號
		for (int i = 1; i <= N; i++) {
			int k = 1;
			for (int j = 1; j <= 2 * N; j++) {
				if (j == N - i + k) {
					System.out.print(op);
					k++;
				}
				if (j == N) {
					System.out.println();
					break;
				} else {
					System.out.print(" ");
				}
			}
		}
	}
}

實驗結果:

##總結: 題目較爲基礎,比較簡單

相關文章
相關標籤/搜索