1. 程式人生 > >Java習題——迴圈1

Java習題——迴圈1

 1.盈盈為了考驗令狐沖奪冠的決心,要他說一百遍“我能行!”

package cn.edu.nefu;

public class Test01
{
	public static void main(String[] args) 
	{
		for(int i=0;i<100;i++){
		System.out.println("我能行!");
		}
	}
}

2.本金10000元存入銀行,年利率是千分之三,每過1年,將本金和利息相加作為新的本金。計算5年後,獲得的本金是多少?(用double儲存)

package cn.edu.nefu;

public class Test02 {
	public static void main(String[] args) {
		double money = 10000;
		for(int i=0;i<5;i++){
			money+=money*0.003;
		}
		System.out.println(money);
	}
}

3. 計算出1—100之間所有能被3整除的整數的和

package cn.edu.nefu;

public class Test03 {
	public static void main(String[] args) {
		int sum = 0;
		for(int i=1;i<=100;i++){
			if(i%3==0){
				sum+=i;
			}
		}
		System.out.println(sum);
	}
}

4. 計算1000以內所有不能被7整除的整數之和

package cn.edu.nefu;

public class Test04 {
		public static void main(String[] args) 
		{
			int sum=0;
			for(int i=1;i<=1000;i++){
				if(i%7!=0){
					sum+=i;
				}
			}
			System.out.println(sum);
		}

}

5.用while做 求10到20的累加和

package cn.edu.nefu;

public class Test05 {
	public static void main(String[] args) {
		int sum=0;
		int i=10;
		while(i<=20){
			sum+=i;
			i++;
		}
		System.out.println(sum);
	}
}

6. 找出一個數的所有因子數

package cn.edu.nefu;

import java.util.Scanner;
public class Test06 
{
	public static void main(String[] args) 
	{
		Scanner s = new Scanner(System.in);
		System.out.println("請輸入一個數:");
		int a = s.nextInt();
		for(int i=1;i<=a;i++){
			if(a%i==0){
				System.out.print(i+" ");
			}
		}
		//System.out.println("Hello World!");
	}
}

7. 輸入一個數,判斷這個數是否是素數;

package cn.edu.nefu;

import java.util.Scanner;
public class Test07 
{
	public static void main(String[] args) 
	{
		Scanner s = new Scanner(System.in);
		System.out.println("請輸入一個數:");
		int a=s.nextInt();
		int flag=0;
		if(a==2){
			flag=1;
		}
		else{
			for(int i=2;i<a;i++){
				if(a%i==0){
					flag=0;
					break;
				}
				else{
					flag=1;
				}
			}
		}
		if(flag==0){
			System.out.println(a+"不是素數");
		}
		else{
			System.out.println(a+"是素數");
		}
	}
}

8 .定義一個正整數如:1205(位數不定)  統計它的各位數字中零的個數,並求各位數字中的最大者。

package cn.edu.nefu;

import java.util.Scanner;

public class Test08 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入一個正整數:");
		long a = sc.nextLong();
		int sum = 0;//0的個數
		int x;//餘數
		while(a>0){
			x = (int) (a%10);
			if(x==0){
				sum++;
			}
			a/=10;
		}
		System.out.println("該正整數中零的個數為"+sum);
	}
}

9. 有1020個西瓜,第一天賣掉總數的一半後又多賣出兩個,以後每天賣剩下的一半多兩個,問幾天以後能賣完

package cn.edu.nefu;

public class Test09 {
	public static void main(String[] args) {
		int num=1020,day=0;
        while(num>0){
			num=num/2-2;
			day++;
		}
       System.out.println(day+"天以後能賣完");
	}
}

10.猴子吃桃問題: 猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個,第二天早上又將剩下的桃子吃了一半,又多吃一個,以後每天都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子。求第一天共摘了多少個?

package cn.edu.nefu;

public class Test10 {
	public static void main(String[] args) {
		int num=1;
        for(int i=1;i<10;i++){
        num=(num+1)*2;
		}
        System.out.println("第一天共摘了"+num+"個桃子");
	}
}

11.判斷一個數是否是完全數(完數指的是一個數的所有因子數的和等於這個數本身,例如 6=1+2+3,即6就是完全數)

package cn.edu.nefu;

import java.util.Scanner;

public class Test11 {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		System.out.println("請輸入一個數:");
		int a = s.nextInt();
		int sum=0;
		for(int i=1;i<a;i++){
			if(a%i==0){
				sum+=i;
			}
		}
		if(a==sum){
			System.out.println(a+"是完全數");
		}
		else{
			System.out.println(a+"不是完全數");
		}
	}
}

12.迴圈錄入某學生5門課的成績並計算平均分,如果某分數錄入為負,停止錄入並提示錄入錯誤(使用break)

package cn.edu.nefu;

import java.util.Scanner;

public class Test12 {
	public static void main(String[] args) {
		int sum=0;//總分
		boolean bool = true;
		Scanner sc = new Scanner(System.in);
		//System.out.println("請輸入該學生5門課的成績:");
		for(int i=1;i<=5;i++){
			System.out.println("請輸入該學生的第"+i+"門成績:");
			double sorce = sc.nextDouble();
			if(sorce<0){
				bool = false;
				break;
			}
			sum += sorce;
		}
		if(bool==false){
			System.out.println("錄入錯誤!");
		}else{
			System.out.println("平均分為:"+sum/5);
		}
		
	}
}

13.迴圈錄入Java課的學生成績,統計分數大於等於 80分的學生比例(使用continue)

package cn.edu.nefu;

import java.util.Scanner;

public class Test13 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入學生個數:");
		int n = sc.nextInt();//學生個數
		int sum = 0;//分數大於80的學生個數
		for(int i=1;i<=n;i++){
			System.out.println("請輸入第"+i+"個學生的成績:");
			double sorce = sc.nextDouble();
			if(sorce>=80){
				sum++;
				continue;
			}
		}
		System.out.println("分數大於80的學生比例為:"+(double)sum/n*100+"%");
	}
}