J2SE习题—基础语法1

1.输入一个正整数n,计算1 - 1/3 + 1/5 - 1/7 + ……的前n项之和。

2.从键盘输入一个正整数n,计算n!(n! = 1 * 2 * 3 * …… * n)。

3.输入两个正整数m和n,计算m! + n!。

4.编程:从键盘输入正整数n,输出1+(1+2)+(1+2+3)+……+(1+2+3+…+n)的和

5.为了倡导居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分两个“阶梯”:月用电量50千瓦以内的,电价为0.53元/千瓦时;超过50千瓦时的用电量,电价上调0.05元/千瓦时。编写程序,输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)。

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

7.输出1-100之间的所有素数(素数:指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数)

class Test 
{
	public static void main(String[] args) 
	{
		
		int n = 5;//未学到,暂时不用控制台输入
		System.out.println(sum_1(n));
		System.out.println(sum_2(n));
		System.out.println(sum_3(n,n));
		System.out.println(sum_4(n));
		System.out.println(sum_5(60));
		sum_6();
		sum_7();
	
	}

	//1.输入一个正整数n,计算1 - 1/3 + 1/5 - 1/7 + ……的前n项之和
	public static double sum_1(int n)
	{
		double sum = 0;
		for(double fm=1, count=1; count<=n; count++)
		{
			sum = sum + (count%2*2-1)/fm;//一定要double,不然相除为0
			fm = fm + 2;
		}
		return sum;
	}

	//2.输入一个正整数n,计算n!(n! = 1 * 2 * 3 * …… * n)
	public static double sum_2(int n)
	{
		double sum = 1;
		for(int x=1; x<=n; x++)
		{
			sum = sum * x;
		}
		return sum;
	}

	//3.输入两个正整数m和n,计算m! + n!
	public static double sum_3(int m,int n)
	{
		double sum;
		sum = sum_2(m) + sum_2(n);
		return sum;
	}

	//4.输入正整数n,输出1+(1+2)+(1+2+3)+……+(1+2+3+…+n)的和
	public static int sum_4(int n)
	{
		int sum = 0;
		for(int x=1; x<=n; x++)
		{
			for(int y=1; y<=x; y++)
			{
				sum = sum + y;
			}
		}
		return sum;
	}

	//6.为了倡导居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分两个“阶梯”:月用电量50千瓦以内的,电价为0.53元/千瓦时;超过50千瓦时的用电量,电价上调0.05元/千瓦时。编写程序,输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)。
	public static double sum_5(int n)
	{
		double ePay = 0;
		if (n<=50)
			ePay = 0.53 * n;
		else
			ePay = 0.53*50+(n-50)*0.58;
		return ePay;
	}

	//7.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
	public static void sum_6()
	{
		for (int i=100;i<=999 ;i++ )
		{
			double bai = Math.pow(i/100,3);
			double shi = Math.pow(i%100/10,3);
			double ge = Math.pow(i%10,3);
			if(bai+shi+ge == i)
				System.out.println(i);
		}
	}

	//8.输出1-100之间的所有素数(素数:指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数)
	public static void sum_7()
	{
		out:for (int i=2;i<=100 ;i++ )
		{
			in:for (int n=2;n<i ;n++ )
			{
				if(i%n == 0)
					continue out;
			}
			System.out.print(i+",");
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值