Java 期末考试

一:

题目:打印出100-999之间所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
   例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 
   1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

代码:

package demo;

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

    for(int i=100;i<=999;i++){
        int a,aa,aaa;
        aaa=i/100;//百位
        aa=(i%100)/10;//十位
        a=i%10;//个位
        if(i==(aaa*aaa*aaa+aa*aa*aa+a*a*a)){
            System.out.println(i);
        }
    }

}
}

二:打印1----999的质数

  

package demo;

public class 质数 {
    public static void main(String[] args) {
        boolean flag;// 标识位
        for (int i = 2; i < 1000; i++) { // 找1-999的质数
            flag = true;
            for (int j = 2; j < i; j++) {
                if (i % j == 0) { // 根据质数的定义,只允许自己本身和1能被整除
                    flag = false;
                    break; // 跳出内层循环
                }
            }
            if (flag == true) {
                System.out.println(i);
            }
        }
    }
}

三:递归算法实现阶乘

package demo;

public class 阶乘 {
public static void main(String[] agrs){
    System.out.println(Factorial(17));  //计算17的阶乘
}
public static long Factorial(int i){
    if(i==1){
        return 1;
    }else{
        return i*Factorial(i-1);  //递归运行
    }
}
}

四:题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在   第10次落地时,共经过多少米?第10次反弹多高?

package demo;

public class 自由落体 {
public static void main(String[] args){
    double h=100;  //除法要精度高
    double sum=0;
    for (int i = 1; i<=10; i++) {
        sum+=h;      //落下去的长度
        h=h/2;
        if(i!=10){  //第十次落地不弹起来
            sum+=h;  //弹起来的长度
        }
    }
    System.out.println(sum+","+h);
}

}
时间: 2024-12-15 06:23:15

Java 期末考试的相关文章

java期末考试 8

/**8 * 利用文本框,標籤,按鈕等完成一個界面 * 輸入一個平時成績,一個實驗成績,一個期末成績 * 按照一定的比例自動出現一個綜合成績 **/ import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java

java期末考试 6

/**6 * 利用菜單和窗口編寫一個簡單的文本編輯器 **/ import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.*; public class Test{ public static void main(String[] args){ JFrame exit = new JFrame("簡單的文本編輯器"); exit

java期末考试 9

/**9 * 利用文本框,標籤,按鈕等完成一個界面 * 選擇輸入的是"人民幣"."美元" * 轉換成另一種幣種的貨幣轉換界面 **/ import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import 

java期末考试 1

/**1 * 打印出所有的水仙花數 **/ public class Test{ public static void main(String[] args){ int i; for (i = 100; i < 999; i++) if(i == Math.pow(i/100, 3) + Math.pow(i/10%10, 3) + Math.pow(i%10, 3)) System.out.println(i); } }

java期末考试 2

/**2 * 判斷101-200之間有多少個素數,并輸出這些素數 **/ public class Test{ public static void main(String[] args){ int i, j; for (i = 101; i < 200; i += 2) { for (j = 2; j <= (int)Math.sqrt(i); j++) if (i % j == 0) break; if (j > Math.sqrt(i)) System.out.print(i + 

java期末考试 3

/**3 * 找出1000以內的完數 **/ public class Test{ public static void main(String[] args){ int i, j, k; for (i = 2; i < 1000; i++) { k = 0; for (j = 1; j < i; j++) if (0 == i % j) k += j; if (i == k) System.out.print(i + " "); } } }

java期末考试 4

/**4 * 有1,2,3,4四個數字, * 能夠組成多少個互不相同的三位數 * 分別是多少 **/ public class Test{ public static void main(String[] args){ for (int i = 1; i < 5; i++) { for (int j = 1; j < 5; j++) { for (int k = 1; k < 5; k++) { System.out.print(i); System.out.print(j); Syst

java期末考试 5

/**5 * 輸出9*9乘法表 **/ public class Test{ public static void main(String[] args){ for (int i = 1; i < 10; i++) { for (int j = 1; j <= i; j++) { System.out.print(i); System.out.print('*'); System.out.print(j); System.out.print('='); System.out.print(i*j

java期末考试 7

/**7 * 編寫一個可以計算面積和體積的接口, * 以及實現這個接口的四邊形類 * (包括矩形,平行四邊形.梯形) **/ public class Test{ public static void main(String[] args){ } } interface Figure{ double Area(double a, double b); double Volume(double a, double b, double c); } class Rectangle implements