首页 > 技术文章 > Java之循环语句练习1

caidupingblogs 2016-09-12 17:22 原文

最近在猛复习Java,猛刷题目ing。这个做题目的过程其实也就像搬砖一样,一点一点把最基础的巩固好,一块一块、整整齐齐地砌才能砌好一面墙。好了,不说了,我要去搬砖了。

其实不瞒你们说,我是比较喜欢数学这一学科的,原因在于其有趣,包括做题也是一样有趣的。我们就用编程和数学的思想来看看那一些有趣的数学:

题目一:输入整数 a,输出结果 s,其中s与a的关系是:s=a+aa+aaa+aaaa+aa...a,最后为a个a。例如:a=2时,s=2+22=24。 要求:使用循环结构语句实现。

package com.cdp.SuShu;

import java.util.Scanner;

public class task4 {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入你要输入的n:");
		int a = input.nextInt();
		int tiem = 0;
		int sum = 0;
		for (int i = 1; i <= a; i++) {
			//计算a+aa+aaa+aaaa+aa...a
			tiem = tiem * 10 + a;
			sum += tiem;
		}
		System.out.println("a的计算和sum=" + sum);
	}

}

我们输入9,运算所得结果为:

请输入你要输入的n:
9
a的计算和sum=1111111101

题目二:再来一个“回文数”,不知道大家是否听说过,回文数的定义就是一组任意自然数其各位数字反向排列都相等。在自然数中,最小的回文数是0。

package com.cdp.SuShu;

import java.util.Scanner;

public class huiwenshu {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入一个5位的数值检验是否为回文数:");
		Scanner input = new Scanner(System.in);
		int a = input.nextInt();
		if (a / 10000 == a % 10 && a / 1000 % 10 == a / 10 % 10) {
			System.out.println(a + "是回文数");
		} else {
			System.out.println(a + "不是回文数");
		}
	}

}

运行:

请输入一个5位的数值检验是否为回文数:
12321
12321是回文数

题目三:一个球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。
 求它在第十次落地时,共经过多少米?第十次反弹多高?
 要求:使用循环结构语句实现。

package com.caiduping.project;

import java.util.Scanner;

public class task4 {


	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//总共100m
		double sum=100;
		double height=100;
		//小球在第十次落下只需要9次循环
		for (int i = 1; i < 10; i++) {
			height=height/2;
			sum+=height*2;
		}
		System.out.println("第10次反弹总共高度为"+sum);
	}

}

run:

第10次反弹总共高度为299.609375

 

推荐阅读