当前位置 博文首页 > chenchw的博客:循环的练习

    chenchw的博客:循环的练习

    作者:[db:作者] 时间:2021-07-20 12:45

    ?1、

    ?我的代码:

    import java.util.Scanner;
    public class Change{
    	public static void main(String[] args){
    	// double cash = 100000;就是先将>50000的算出来,再将后面的算出来。
    	double money;
    	int count = 0;
    	double restOfMoney = 100000;
    	while(restOfMoney > 50000){
    
    		money = (restOfMoney * 0.05);
    		System.out.println("您需要交款:" + money + "元");
    		count++;
    		restOfMoney = restOfMoney - money;
    		
    	}
    
        System.out.println("还剩下" + restOfMoney + "钱");
    
    	while(restOfMoney < 50000 && restOfMoney > 0){
    		if (restOfMoney < 1000) {
    			System.out.println("您的余额不足");
    			System.out.println("还剩下" + restOfMoney + "钱");
    			break;
    		}
    		restOfMoney -= 1000;
    		count++;
    	}
    
    System.out.println("一共可以使用" + count + "次");
    			
    
    
    
        }
    }

    老师的代码:

    import java.util.Scanner;
    public class Change{
    	public static void main(String[] args){
    		double money = 100000;
    		int count = 0;//下次统计次数一定要赋值为0;
    		while(true){
    			// 其实这样写的话就是包括了一个范围区间。这样写才是最简单的。
    			// 只是这个true不是很容易想到。
    			if (money > 50000) {
    			money = money * 0.95;
    			count++;	
    			}else if (money >=1000) {
    				money -= 1000;
    				count++;	
    			}else{
    				break;
    			}
    			
    		}
    		System.out.println("可以过这个多次" + count );
    
        }
    }

    差距啊这是,一个true就很好。两个区间一限定就结束了。根本不用两个while。

    import java.util.Scanner;
    public class Change{
    	public static void main(String[] args){
    		Scanner myScanner = new Scanner(System.in);
    		System.out.println("请输入要判断的数");
    		int n1 = myScanner.nextInt();
    		int n2 = n1 + n1;
    		if (n2 > 0) {
    			System.out.println("是正数");
    		}else if (n2 == 0) {
    			System.out.println("是0");		
    		}else{
    			System.out.println("是负数");
    		}
    
    
        }
    }

    这不是多此一举吗,简单的问题复杂化。

    import java.util.Scanner;
    public class Change{
    	public static void main(String[] args){
    		Scanner myScanner = new Scanner(System.in);
    		System.out.println("请输入一个三位数");
    		int num = myScanner.nextInt();
    		System.out.println("三位数为: " + num);
    		// 下面求百位是几。
    		int bnum = num / 100;
    		// 下面求十位是几。
    		int snum = (num / 10) % 10;//snum = n % 100 /10
    		int gnum = num % 10;
    		System.out.println("百位 = " + bnum +"  " + "十位 = " + snum + "  "+ "个位 = " + gnum );
    
    		if (bnum * bnum * bnum + snum * snum * snum + gnum * gnum * gnum == num) {
    		System.out.println(num + "是水仙花数");		
    		}else{
    		System.out.println(num + "不是水仙花数");
    
    		}
        }
    }

    我的代码:?

    import java.util.Scanner;
    public class Change{
    	public static void main(String[] args){
    		Scanner myScanner = new Scanner(System.in);
    		int num = 5;
    		int count = 5;
    		for (int i = 1;i <= 100 ;i++ ) {
    			if ((i % 5) != 0) {
    			System.out.print(i + " ");	
    			count--;
    			if (count == 0) {
    			System.out.println(" ");	
    			count = 5;	
    				}
    			}
    		}
    
        }
    }

    ?不愧是我。

    老师的代码:

    import java.util.Scanner;
    public class Change{
    	public static void main(String[] args){
    		Scanner myScanner = new Scanner(System.in);
    		int num = 5;
    		int count = 0;
    		for (int i = 1;i <= 100 ;i++ ) {
    			if ((i % 5) != 0) {
    			System.out.print(i + " ");	
    			count++;
    			if (count % 5 == 0) {
    			System.out.println(" ");	
    			
    				}
    			}
    		}
    
        }
    }

    import java.util.Scanner;
    public class Change{
    	public static void main(String[] args){
    		Scanner myScanner = new Scanner(System.in);
    		char n = 'A';
    		int count = 5;
    		// char tempchar;
    		for (int i = 0;i <= 25 ;i++ ) {
    			char tempchar = (char)(n + i);
    			System.out.println("字符 = " + tempchar );
    		}
    			System.out.println(" ==============");
    
    		for (int i = 0;i <= 25 ;i++ ) {
    			char tempchar = (char)(n + i + 32);
    			System.out.println("字符 = " + tempchar );
    		}
    
    
        }
    }

    ?大的反而小,小的反而大。

    老师的代码:

    import java.util.Scanner;
    public class Change{
    	public static void main(String[] args){
    		Scanner myScanner = new Scanner(System.in);
    		for (char c1 = 'a';c1 <= 'z' ;c1++ ) {
    			System.out.print(c1 + " ");
    		}
    			System.out.println(" ");
    
    		for (char c1 = 'A';c1 <= 'Z' ;c1++ ) {
    			System.out.print(c1 + " ");
    		}
    
    
        }
    }

    import java.util.Scanner;
    public class Change{
    	public static void main(String[] args){
    		Scanner myScanner = new Scanner(System.in);
    		double value = 0 ;
    		// 隐藏的一个陷阱:要把公式的分子写成1.0才能得到精确的整数才行。
    		for (int i = 1;i <= 100 ;i++ ) {
    			if (i % 2 != 0) {
    				value =value + 1.0 / i ;
    			}
    
    			if (i % 2 == 0) {
    			value =value - 1.0 / i ;
    				
    			}
    			
    
    		}
    		System.out.println("最后的结果:  " + value);
    
        }
    }

    这里有一个陷阱:java里面都是整除啊,需要加上1.0,这样才能保证算的是小数。double。

    之前遇到过一次了。

    import java.util.Scanner;
    public class Change{
    	public static void main(String[] args){
    		Scanner myScanner = new Scanner(System.in);
    		int sum = 0;
    		for (int i = 1;i <= 100 ;i++ ) {
    			for (int j = 1;j <= i ;j++ ) {
    				sum += j;
    			}
    		}
    		System.out.println("最后的结果:  " + sum);
    
        }
    }

    这一题要想到九九乘法表的那个题目,内层循环的个数更适合i有关的。这样能控制内层循环的次数哦。重要!?

    完结撒花!? ? 多练习多思考啊

    cs
    下一篇:没有了