栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

day

Java 更新时间:发布时间: 百科书网 趣学号
1、练习

1.求1-100的加和,1-100之间奇数的加和

		package day02text;

		public class The1 {
			public static void main(String[] args) {
		        //sum1是1-100的加和,sum2是1-100之间奇数的加和
		        //1-100的加和
				int sum1 =0,sum2 =0;
				for(int i = 1;i <= 100;i++){
					sum1 =sum1 + i;
				}
				System.out.println(sum1);
		        //1-100之间奇数的加和
				for(int i = 1;i <= 100;i+=2){
					sum2 =sum2+ i;
				}
				System.out.println(sum2);
			}

		}

2.有100匹马,分别是大马,中马,和小马 ,有100块砖头,大马 一次能驮3块砖,中马 一次能驮2块砖,三匹小马 一次能驮 1块砖,刚好一次驮完,问 有多少大马,多少中马,多少小马(每种马的个数不能为0,并且不能有闲着的马)

注意 : 小马个数 是3的倍数,类型可以使用double

package day02text;

public class The2 {

	public static void main(String[] args) {
		//大马x 中马y 小马z
		int x ,y=1;
		int z = 3;
		for(x=1;x<=100;x++){
			for(y=1;y<=100;y++){
				for(z=3;z<=300;z+=3){
					if(x+y+z==100 && 3*x+2*y+z/3==100){
						System.out.println(x+"  "+y+"  "+z);
					}
				}	
			}
		}
	}
}

为减少运算次数,优化以后为

package day02text;

public class The2 {

	public static void main(String[] args) {
		//大马x 中马y 小马z
		int x ,y=1;
		//为了方便设定小马的初始为3
		int z = 3;
		for(x=1;x<=33;x++){
			for(y=1;y<=50;y++){
					z=100-x-y;
					if(3*x+2*y+z/3==100){
						System.out.println(x+"  "+y+"  "+z);
					}
			}
		}
	}
}

 运算结果

 

 3. 小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,请问,经过多少天,小芳才可以存到100元钱。

package day02text;

public class The3 {

	public static void main(String[] args) {
		//设需要的天数为day
		int day=1;
		//钱的总数为money
		double money;
		for(money=2.5;money<=100;money+=2.5,day++){
			if(day % 5 ==0){
				money = money - 6;
			}
		}
		System.out.println(day);
        //运算结果为74
	}
}

4.我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。
请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?

package day02text;

public class Text4 {

	public static void main(String[] args) {
		//设折叠次数为time
		int time=0;
		//初始值纸张厚度为w
		double w=0.01;
		for(w = 0.01;w <= 8848;w *= 2,time++){
		}
		System.out.println(time);
        //运行结果为20次
	}
}
2、循环  2.1while
package day_04text;

public class Text1 {
	
	public static void main(String[] args) {
		//for循环
		for (int i = 0; i < 10; i++) {
			System.out.println(i);
		}
		//while循环
		int i = 0;
		while (i < 10) {
			System.out.println(i);
			i++;
		}

	}

}
2.2do..while...
package day_04text;

public class Text2 {
	
	public static void main(String[] args) {
		//若条件不符合则出现不执行情况
		for (int i = 0; i < -1; i++) {
			System.out.println(i);
		}
		//while
		int a = 1;
		int b = 2;
		while (a > b) {
			System.out.println("执行");
		}
		//  dowhile是先执行,再判断
		do {
			System.out.println(3);
		} while (a > b);
		System.out.println("执行");
	}
}

2.3Break

package day_04text;

public class Tex3 {
	
	public static void main(String[] args) {
		//查询7~10000中第一个完美数
		int i,g,sum=0;
		for(i=7;i<=10000;i++){
			for(g=1; g< i;g++){
				if(i % g == 0){					
					sum+=g;
				}
			}
			if(i == sum){					
				System.out.println(i);
				//找到之后终止循环
				break;
			}
			//清空和
			sum = 0;
		}
	}
}

2.4 BreakOutFor

package day_04text;

public class Text4 {
	
	public static void main(String[] args) {
        //设置外层循环名字为outFor
		outFor: for (int i = 0; i < 10; i++) {
			for (int j = 0; j < 10; j++) {
				if (j == 3) {
					// 只能终止内层循环
					// break;
					// 终止外层循环
					break outFor;
				}
				System.out.print(j + "  ");
			}
			System.out.println();
		}

	}

}

2.5Continue

package day_04text;

public class Text5 {
	
	public static void main(String[] args) {
		for (int i = 0; i < 10; i++) {
			if (i == 3) {
				// 跳过当前次,直接i++
				continue;
			}
			//打印结果  0,1,2,4,5,6,7,8,9   没有3
			System.out.println(i);
		}
	}
}
3、方法 3.1概述

什么是方法 : 很多条语句的集合,只要我们使用这个方法,就等于使用这些代码
方法目的 : 1 代码复用 , 2 使程序更加简短更清晰 , 3 有利于程序维护 , 4 提高开发效率

3.2方法声明
	 
package day_04text;

public class Text_Method {
	public static void main(String[] args) {
		Text_Method.m1();
		m1();
	}
	
	// 没有返回值
	public static void m1(){
		for (int j = 0; j < 10; j++) {
			if (j == 5) {
                //没有返回值return可以不加,如果写了return也不能写任何返回数据,只能单独出现
				return;
			}
		}
	}
	// 有返回值
	public static int m2(){
        //必须写,而且return后要写和返回值类型对应的数据
		return 22;
	}
}
3.3方法的分类

	 
 3.4方法调用
	 

方法不调用不执行,调用才执行,并把结果返回到调用处

        // println_01();
		// println_02(7);
		int result = sum(3, 9);
		System.out.println(result);
	}

	// 1 需求 : 向控制台打印1-100的值
	public static void println_01() {
		for (int i = 1; i <= 100; i++) {
			System.out.println(i);
		}
	}

	// 2 需求 : 向控制台打印1~N的值
	// 参数列表中的变量是局部变量
	public static void println_02(int n) {
		for (int i = 1; i <= n; i++) {
			System.out.println(i);
		}
	}

	// 3 需求 : 计算 n-m直接的累加加和并返回, ps : 假设 n小于m,均为整数
	public static int sum(int n, int m) {
		int sum = 0;
		for (int i = n; i <= m; i++) {
			sum += i;
		}
		return sum;
	}
    //4 需求 给定三个整数,返回其中最大的一个数,要求这三个数不相等
		int e;
		e=max(3,6,9);
		System.out.println(e);
	public static int max( int a,int b,int c){
		int d;
		if(a 
例题 

1.编程求1~10000 之间的所有“完全数”,完全数是该数的所有因子之和等于该数的数。例如,6的因子有、2、3,且6=1+2+3,所以6是完全数。

思路把能整除的数都累加加起来,判断是否等于本身

package day_04text;

public class Wonderful {

	public static void main(String[] args) {
		//i完美数;g是因子sum是因子加和
		int i,g,sum=0;
		for(i=1;i<=10000;i++){
			for(g=1; g< i;g++){
				//判断哪个是因子
				if(i % g == 0){			
					//因子相加
					sum+=g;
				}
			}
			//判断是不是完全数,并输出完全数
            //输出结果6,28,496,8128
			if(i == sum){					
				System.out.println(i);
			}
			//清空加和,寻找下一个完全数
			sum = 0;
		}
	}

}

2.编写程序解决“百钱买百鸡”问题。公鸡五钱一只,母鸡三钱一只,小鸡一钱三只,现有百钱欲买百鸡,共有多少种买法?(钱必须要花完)

package day_04text;

public class Chicken {

	public static void main(String[] args) {
		//设公鸡为g,母鸡m,小鸡x
		int g,m;
		double x;
		for(g=0;g<20;g++){
			for(m=0;m<33;m++){
					x = 100-g-m;
					if( 5*g+3*m+x/3 ==100){
						System.out.println(g+"  "+m+"  "+x);
					}
			}
		}
	}
}

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/273729.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号