翁恺老师慕课0基础java学习【Day3】

多项式加法实例

package lianxi;

import java.util.Scanner;

public class duoixiangshiqiuhe {

    public static void main(String[] args) {
        
        Scanner in = new Scanner(System.in);
        
        int [] a = new int [101];
        int [] b = new int [101];
        int [] c = new int [101];
        int x = 0;
        int xi1;
        int mi1;
        int xi2;
        int mi2;
        do {
            xi1 = in.nextInt();
            mi1 = in.nextInt();
            for(int i = 0;i < a.length;i++) {       //读入第一个多项式的幂和系数,并保存在数组a中
                if(i == mi1) {
                    a[i] = xi1;
                    break;
                }
            }
        }while(mi1 != 0);
        do {
            xi2 = in.nextInt();
            mi2 = in.nextInt();
            for(int i = 0;i < b.length;i++) {          //读入第二个多项式系数并保存在数组b中
                if(i == mi2) {
                    b[i] = xi2;
                    break;
                }
            }
        }while(mi2 != 0);
        for (int i = 0;i < c.length;i++) {             //将相应幂对应的系数相加并保存在数组c中
            c[i] = a[i]+b[i];
            
        }
        
        for( int i = 100; i>1;i--) {                            //开始分类输出,当i>1时,“x”后面要连接“i”
            if(c[i]!=0) {                                       //c[i]=0时,不需要输出
            
                if(x==0) {                                       //是否为第一次输出,若是,则每个项前面不需要加符号(负数自带符号)
                    if(c[i]!=1&&c[i]!=-1) {
                        System.out.print(c[i]+"x"+i);
                    }
                    if(c[i]==1) {
                        System.out.print("x"+i);
                        
                    }
                    if(c[i]==-1) {
                        System.out.print("-x"+i);
                    x=1;    
                    }
                    
                }
                else {
                    if(c[i]>1) {
                        System.out.print("+"+c[i]+"x"+i);
                    }
                    if(c[i]<-1) {
                        System.out.print(c[i]+"x"+i);
                    }
                    if(c[i]==1) {
                        System.out.print("+"+"x"+i);
                        
                    }
                    if(c[i]==-1) {
                        System.out.print("-x"+i);
                    x=1;    
                    }
                }
            }    
        }
        if(c[1]!=0) {                                            //i=1时,“x”后面不需要连接“i”
            if(x==0) {
                if(c[1]!=1&&c[1]!=-1) {
                    System.out.print(c[1]+"x");
                }
                if(c[1]==1) {
                    System.out.print("x");
                    
                }
                if(c[1]==-1) {
                    System.out.print("-x");
                x=1;    
                }
                
            }
            else {
                if(c[1]>1) {
                    System.out.print("+"+c[1]+"x");
                }
                if(c[1]<-1) {
                    System.out.print(c[1]+"x");
                }
                if(c[1]==1) {
                    System.out.print("+"+"x");
                    
                }
                if(c[1]==-1) {
                    System.out.print("-x"+1);
                x=1;    
                }
            }
            
        }
        if(c[0]!=0) {                                      //i=0时,不需要输出“x”
            if(x==0) {
                if(c[0]!=1&&c[0]!=-1) {
                    System.out.print(c[0]);
                }
                if(c[0]==1) {
                    System.out.print(1);
                    
                }
                if(c[0]==-1) {
                    System.out.print(-1);
                x=1;    
                }
                
            }
            else {
                if(c[0]>1) {
                    System.out.print("+"+c[1]);
                }
                if(c[0]<-1) {
                    System.out.print(c[1]);
                }
                if(c[0]==1) {
                    System.out.print("+"+1);
                    
                }
                if(c[1]==-1) {
                    System.out.print(-1);
                x=1;    
                }
            }
            
        }
        else {                                                       //c[0]=0时,需要输出0
            if(x==0) {
                System.out.print(0);
            }
            else {
                System.out.print(+0);
            }
                
        }

    }

}

六、使用对象

6.1 字符类型

单个字符用char类型表示,char类型的常量值必须用一对单引号('')括起来

逃逸字符   /b(回退一格)  /t(到下一个制表位)

6.2 包裹类型

让一个类或一个对象做事情,在其后用.运算符

6.3 字符串

用双引号(“”)括起来,算一个字符串。

创建一个字符串,String S = new String("a string")     

与数组类似,字符串变量只是管理者。

字符串之间用“+”连接。

输入:in.next()表示读入一个单词,单词的标志是空格,tab和换行。in.nextline()表示读入一整行

所有创建出来的字符串都是不可变的

 

 

 

念整数实例

package lianxi;

import java.util.Scanner;

public class nianzhengshu {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int m = in.nextInt();
        int a = m;
        int b = 0;
        if(m==0) {
            System.out.print("ling");
        }
        if (m<0) {
            System.out.print("fu"+" ");
            m=-m;
        }
        do {
            a/=10;
            b++;
        }while(a!=0);
        while(b>0){
            int p = (int) Math.pow(10, --b);     //b先减再用
            int x = (int)(m/p);
            m = (int)(m%p);
            switch(x) {
            case 0:
                System.out.print("ling");
                break;
            case 1:
                System.out.print("yi");
                break;
            case 2:
                System.out.print("er");
                break;
            case 3:
                System.out.print("san");
                break;
            case 4:
                System.out.print("si");
                break;
            case 5:
                System.out.print("wu");
                break;
            case 6:
                System.out.print("liu");
                break;
            case 7:
                System.out.print("qi");
                break;
            case 8:
                System.out.print("ba");
                break;
            case 9:
                System.out.print("jiu");
                break;

            }
            if (b>0) {
                System.out.print(" ");
            }
            
            
        }
            

    }

}

 

posted on 2022-01-13 10:10  冬马和纱  阅读(47)  评论(0)    收藏  举报