⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 group23.java

📁 完善以前的JAVA实现的多项式相加 提供了输入系数和次数的控制
💻 JAVA
字号:
import java.io.*;
public class group23
{    
	
     private class newpoint
     {
          int dight;
          int times;
          boolean flag;
          	
     }
     
     int count_aa =0;
     int count_bb=0;
     newpoint[] aa= new newpoint[5];
     newpoint[] bb = new newpoint[5];
     newpoint[] sum = new newpoint[5];
     
     public static void main(String agrs[])
     {      
     	  System.out.println("警告本程序只提供5个项输入");
           group23 getnow= new group23();
           //getnow.getnumber();	
           getnow.getsum();
     }   
     
    public void getnumber()
    {   
    	//本函数是为了始化数据
    	//根据INPUTSTREAMREADER的特点,本实验接受数据只能先输入系数ENTER后再输入次数 
                int a4=0;
       	  	int b4=0;
       	  	String accpetdight="";
       	  	String accpettimes="";
              
       	  try
       	  {     
       	     for(int i=0;i<5;i++)
       	      {
       	  	
       	  	BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
       	  	accpetdight =in.readLine();
       	  	accpettimes =in.readLine();
       	  	a4=Integer.parseInt(accpetdight);
       	  	b4=Integer.parseInt(accpettimes);
       	        if(a4==0&&b4==0)
       	        break;
          newpoint new_point = new newpoint();
          new_point.dight = a4;
          new_point.times = b4;
          
          new_point.flag = false;
          aa[i]=new_point;
          count_aa++;
          System.out.println("aa[i].dight:"+aa[i].dight);
    	  System.out.println("aa[i].times:"+aa[i].times);
        }	
    	 //System.out.println("aa[i].dight"+aa[i].dight);
    	 //System.out.println("aa[i].times"+aa[i].times);
    	}catch(Exception e)
    	{}
      
                int aaa=0;
       	  	int bbb=0;
                String accpetdight1="";
       	  	String accpettimes1="";
       	   	
            try
       	     {     
       	       for(int j=0;j<7;j++)
       	  	{
       	  	
       	  	
       	  	BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
       	  	accpetdight1 =in.readLine();
       	  	accpettimes1 =in.readLine();
       	  	aaa=Integer.parseInt(accpetdight1);
       	  	bbb=Integer.parseInt(accpettimes1);
       	  	if(aaa==0&&bbb==0)
       	  	break;
            newpoint new_point1 = new newpoint();
            new_point1.dight = aaa;
            new_point1.times = bbb;
            new_point1.flag = false;
            bb[j]=new_point1;
            count_bb++;
            System.out.println("bb[i].dight:"+bb[j].dight);	
            System.out.println("bb[i].times:"+bb[j].times);	
          }
         //System.out.println("bb[i].dight:"+bb[j].dight);	
         //System.out.println("bb[i].times:"+bb[j].times);
        }catch(Exception e)
        {}
       
              
   }
    
    public void getsum()
    {    //实现多项式相加
    	this.getnumber();
    	int count = 0;
        for(int m =0;m<count_aa;m++)     //判断是否有相同次数的项
       {
          for(int n = 0; n<count_bb;n++)
         {
            if(aa[m].times==bb[n].times)
            {
               aa[m].flag = true;
               bb[n].flag =true;	
               count ++;
              // System.out.println("a[m].dight"+aa[m].dight);
            }	
        	
            
         }
        }
        for(int mm =0;mm<count_aa;mm++)
        {
           for(int nn=0;nn<count_bb;nn++)    //对相同的次数的项相加
           {
              if(aa[mm].times==bb[nn].times)
              {
                         newpoint  new_sum= new newpoint();
                         new_sum.dight= aa[mm].dight+bb[nn].dight;
                         new_sum.times= aa[mm].times;
                         new_sum.flag = aa[mm].flag;
                         sum[mm]=new_sum;
              }
              
           }	
        } 
        System.out.print("sum=");
        for(int ii=0;ii<count_aa;ii++)      //正式相加
        {
               if(aa[ii].flag==false&&aa[ii].dight!=0)
               System.out.print(aa[ii].dight+"*x^"+aa[ii].times+"+");	
        }
        for(int jj=0;jj<count_bb;jj++)
        {
            if(bb[jj].flag==false&&bb[jj].dight!=0)
            System.out.print(bb[jj].dight+"*x^"+bb[jj].times+"+");
             
        }
          
        for(int q=0;q<count;q++)
        {
        	if(sum[q].dight!=0)
        	{
                       System.out.print("+"+sum[q].dight+"*x^"+sum[q].times);
                }	
        }
    }  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -