化繁为简和先死后活

1.化繁为简:把复杂的需求,分解为简单的需求,依次实现。

 

2.先死后活:将一个定性的需求的参数变灵活(比如设变量),以适应其他与这个需求数据不同其他相同的情况。

 

举个例子

现在有一个需求

 

打印1----100间是9的倍数的整数,统计个数和总和

 

第一步,化繁为简

(1)打印出1----100的整数

public    class test1{
    public static void main(String[] args){
         for (int a = 1;a < 101;a++){
            
        System.out.println(a);
      } } }

(2)在输出的过程,进行筛选,选出9的倍数

public    class test1{
    public static void main(String[] args){
         for (int a = 1;a < 101;a++){
               if (a % 9 == 0){
        System.out.println(a);
                    }
      }
        }
}            

(3)每一次筛选后,统计个数加一,并加到总和

public    class test1{
    public static void main(String[] args){
        int sum = 0,num = 0;
         for (int a = 1;a < 101;a++){
             if(a % 9 == 0){
                                System.out.println(a);
                 num++;
                 sum += a;
             }
             }
        
        }
}

 

第二步,先死后活

这次是求1~100,9的倍数,那如果以后有4~90,534~436654,123~567,8的倍数,10的倍数,3的倍数等等的话,也应该可以利用这个程序,所以我们只需要把固定的数据,用变量来替换,那么就能适用更多情况

import java.util.Scanner;
public    class test1{
    public static void main(String[] args){
        int sum = 0,num = 0,start,end,mul;
      Scanner myScanner = new Scanner(System.in);
       System.out.println("请输入区间左端数值");
       start = myScanner.nextInt();
      System.out.println("请输入区间右端数值");
       end = myScanner.nextInt(); 
      System.out.println("请输入你想求倍数的数");
      mul = myScanner.nextInt();
         for (int a = start;a <= end;a++){
           
             if(a % mul == 0){
                  System.out.println(a);
                 num++;
                 sum += a;
             }
             }

        System.out.println("num =" + num + "\n" + "sum =" + sum);
        }
}

 

推荐这些文章:

Java 不依靠第三个变量以及容器实现两个变量互换值

public static void main(String[] args) {
int a = 123456;
int b = 6546;
a = a^b;
b= a^b;
a = b^a;
System.out.println("a:"+a);
System.out.println("b:"+b);
}

知识点:a^b^a = b  自己位或自己=空气

...

java基础———打印三角形

代码
public static void main(String[] args) { for (int i = 1; i <= 5; i++) { for (int j = 5; j >=i ; j--) { System.out.print(" "); } for (int j = 1; j <=i; j++) { System.out.print("*"); } for (int j = 1; j <i ; j++) { ...

【Java】双引号""和单引号''导致不同的结果

1 + 2 + "3" 与 1 + 2 + '3' 结果不同

代码如下:

public class Test{
public static void main(String[] args){
System.out.println(1 + 2 + "3");
System.out.println(1 + 2 + '3');
}
}

执行结果如下:

33
54

...

Java: i=i++字节码分析

public class B {

public static void main(String[] args) {
int bb = 5;
int pp = bb++;
System.out.println(pp);
}
}

 
 
 

...

继承的类的静态成员变量是自身的时候为啥不爆StackOverflowError

问题
有两个方面的问题:
1,当一个类B继承一个类C,而类B的一个实例又是类C的一个静态成员变量的时候,为什么不会报StackOverflowError,我知道类B的一个实例是类C的一个非静态成员变量的时候会报这个错误。虽然静态的只有一个实例,但引用还是是无限循环的啊?
 
2.当一个类B继承一个类C、一个接口A,类C中和接口A中都有一个相同的成员变量b的时候,分别因该怎么引用?(其中类C中的b是static的)
 
可能没有说的太清楚,我把代码贴出来了,求解答,困惑我很久了。。

public class InterfaceVariable {
...

这个程序输出为何不对?

问题
public class EchoPlayer {
static int M = 5; static int N = 4; static int[][] b = new int[5][N]; static int k=0; public static void main(String[] args){ C(5,4,4); System.out.println(); for(int i=0;i<5;i++){ for(int j=0;j<N;j++){ System.out.print(b[i][j]+" "); } System.out.p...

【Java】学习路径30-可变参数 Variable Parameter

定义一个add函数,要求其功能:传入任意数量的参数然后返回相加的结果。
public class VariableParameter { public static void main(String[] args) {// System.out.println(add(1,2));// System.out.println(add(1,2,3)); System.out.println(add(1,2,3,4,5,3,2,3,4,2)); }// public static int add(int a,int b){// ...

1. for循环之打印乘法表和三角形

查看代码

public class Multiply {
public static void main(String[] args){
//打印输出 9x9 乘法表
for(int i = 1; i <= 9; i++){
for(int j = 1; j <= i; j++){
System.out.print(j + "*" + i + "=" + i * j + "\t");
}
System.out.println();
...

java的方法(类似与C语言函数)

package www.nihao;
import java.util.Scanner;
public class demo02 {
public static void main(String[] args) {
//main方法
Scanner scanner = new Scanner(System.in);
System.out.println("请输入X的值:");
int x=scanner.nextInt();
System.out.println("请输入Y的值:");
...

100天代码提升计划-第24天

四种权限修饰符
public>protected>()>

 
public 

protected

default

private

同一个类
Y
Y
Y
Y

同一个包
Y
Y
Y
N

不同包子类(继承) 
Y
Y
N
N

不同包非子类
 
 
 
 

一、同一个包代码

package Modification;

public class SameClass {
public int num=10;
protected int num1=10;
int num2...

文章标题:化繁为简和先死后活
文章链接:https://www.dianjilingqu.com/51217.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>