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+"%");
	}
}

猜你喜欢

转载自blog.csdn.net/sunshinecollege/article/details/83785211