Java习题

 设n为1~1500间的所有整数,按照如下要求计算和输出。
    1、判断并输出n中能被3和5和7同时整除的数的个数;
    2、判断并输出n中能被3或5或7整除的数的个数;
    3、判断并输出n中能被3或5或7整除的所有数的累加和;
    4、判断并输出n中能被3或5或7整除的前20个数的累加和;
    5、判断并输出n中能被3或5或7整除的前10个数的累乘积;

package test10;
public static void a1() { int number = 0; for (int i = 1; i <= 1500; i++) { if (i % 3 == 0 && i % 5 == 0 && i % 7 == 0) { number++; }/*整除,取余为0,同时,与逻辑,求数量,设变量循环计数*/ } System.out.print("个数为"+number); } public static void a2(){ int number = 0; for (int i = 1; i <= 1500; i++) { if (i % 3 == 0 || i % 5 == 0 || i % 7 == 0) { number++; }/*整除,取余为0,或者,或逻辑*/ } System.out.print("个数为"+number); } public static void a3(){ int sum = 0; for (int i = 1; i <= 1500; i++) { if (i % 3 == 0 || i % 5 == 0 || i % 7 == 0) { sum+=i; }/*整除,取余为0,或者,或逻辑,求数量,设变量循环计数*/ } } public static void a4(){ int sum = 0; int number=0; for (int i = 1; i <= 1500; i++) { if (i % 3 == 0 || i % 5 == 0 || i % 7 == 0) { sum+=i; number++; }/*整除,取余为0,或者,或逻辑,求数量,设变量number循环计数,设变量sum求和*/ if(number==20){ break; }/*判断计数的数量为前20个*/ } System.out.print("累加和为"+sum); } public static void a5(){ long sum = 1; int number=0; for (int i = 1; i <= 1500; i++) { if (i % 3 == 0 || i % 5 == 0 || i % 7 == 0) { sum*=i; number++; }}/*整除,取余为0,或者,或逻辑,求数量,设变量number循环计数,设变量sum求乘积*/ if(number==10){ break; }/*判断计数的数量为前10个*/ } System.out.print("前10个数累乘为"+sum); }public static void main(String[] args) { a1(); System.out.println(); a2(); System.out.println(); a3(); System.out.println(); a4(); System.out.println(); a5(); System.out.println(); }/*每个方法封装,主方法只调用子方法*/ }

  

 结果如图所示

求1-3+5-7+...-99+101的值

package test11;
public class Test11 {
	public static void a1(){
	int sum=0;/*求和变量初始值*/
        int j=-1;/*相加变量初始值*/
        int ret=1;
        for(int i=1;i<=101;i+=2){
            j=-j;            
			ret=i*j; //解决某项的值
            sum+=ret;
        }
        System.out.println(sum);	
	}
	public static void main(String[] args) {
		a1();
	}
}

运行结果为51

假设a、b、c是三角形的三条边,当三条边符合勾股定理时,即,a2+b2=c2 ,为直角三角形。若a、b、c均为小于等于50的整数,求能够组成直角三角形的所有组合。请显示边的各种可能组合情况,显示总的组合数量。注意:
    (a=3, b=4, c=5)
    (a=4, b=3, c=5)
    (a=5, b=4, c=3)
等情况只能算1种组合。(参考答案:20种)

package *;

public class Test12 {

	public static void main(String[] args) {
		int a, b, c, number = 0;
		for (a = 1; a <= 50; a++) {
			for (b = 1; b <= 50; b++) {
				for (c = 1; c <= 50; c++) {
					if (a * a + b * b == c * c && a > b) {
						System.out.println("a=" + a + " " + "b=" + b + " " + "c=" + c + " ");
						number++;/*统计数量*/

					}/*for循环三重,遍历数据*/

				}

			}

		}
		System.out.println("组合数量" + number);
	}
}

  结果:

编写程序,输出如下图形所示高度为n的图形。当n=6时:
 1   2   3    4   5   6
 7   8   9   10  11  12
 13  14  15  16  17  18
 19  20  21  22  23  24
 25  26  27  28  29  30
 31  32  33  34  35  36

package *;

public class Test13 {

	public static void leisishuzu(int n) {
		for (int i = 1; i <= n; i++) {
			for (int j = 1; j <= n; j++) {
				System.out.print((i - 1) * 6 + j + " ");
			}
			System.out.println();
		}

		System.out.println();

	}/*类似遍历二维数组*/

	public static void main(String[] args) {

		leisishuzu(6);

	}
}

  结果:

计算π的近似值。公式如下:

直到累加项的绝对值小于10-4为止(即求和的各项的绝对值均大于等于10-4)。

package *;

public class Test14 {
	public static void main(String[] args) {
		double ret = 1;
		int n = 1;
		double sum = 0;
		int sign = -1;
		while (Math.abs(ret) > 1E-4) {
			sign = -sign;
			ret = 1 / (sign * n * (1.0));
			sum += ret;
			n += 2;
			System.out.println(Math.abs(ret));
		}
		System.out.println("值为" + sum * 4);
	}
}

  结果:

编制程序要求输入整数a和b,若大于100,则输出百位以上的数字,否则输出两数之和。

package *;

public class Test15 {
	public static void main(String[] args) {
		int a, b;
		a = 3;
		b = 8;
		if ((a * a + b * b) > 100) {
			System.out.println("百位以上数字" + (a * a + b * b) / 100);

		} else {
			System.out.println("两数之和" + (a + b));
		}
	}
}

  结果:e两数之和为11(列子)

oraclepeixun
原文地址:https://www.cnblogs.com/dldrjyy13102/p/7451589.html