题目要求: 代码如下:
import java.util.Scanner; public class Homework_one { public static void main(String[] args) { int[] ratio_one = new int[101]; int[] ratio_two = new int[101]; int[] sum_ratio = new int[101]; Scanner in = new Scanner(System.in); System.out.println("请输入第一个多项式:"); int mi = in.nextInt(); int xishu = in.nextInt(); while(mi!=0) { ratio_one[mi] = xishu; mi = in.nextInt(); xishu = in.nextInt(); } ratio_one[mi] = xishu; System.out.println("第一个多项式输入完毕!"); System.out.println("请输入第二个多项式:"); mi = in.nextInt(); xishu = in.nextInt(); while(mi!=0) { ratio_two[mi] = xishu; mi = in.nextInt(); xishu = in.nextInt(); } ratio_two[mi] = xishu; System.out.println("第二个多项式输入完毕!"); //遇到负数会输出+- // for(int i=0;i<101;i++) { // sum_ratio[i] = ratio_one[i]+ratio_two[i]; // // System.out.println("系数为:"+sum_ratio[i]); // } // // for(int i=100;i>-1;i--) // { // if(sum_ratio[i]!=0) { // if(i!=0&&i!=1) // { // System.out.print(sum_ratio[i]+"x"+i+"+"); // } // if(i==1) // { // System.out.print(sum_ratio[i]+"x"+"+"); // } // if(i==0) { // System.out.print(sum_ratio[i]); // } // } // // } //修改过的代码: String[] sum = new String[101]; int count = 100; for(int i=0;i<101;i++) { sum_ratio[i] = ratio_one[i]+ratio_two[i]; } for(int i=100;sum_ratio[i]==0;i--) { count--; } System.out.print(sum_ratio[count]+"x"+count); for(int i=0;i<count;i++) { if(sum_ratio[i]>0) { sum[i] = "+"+sum_ratio[i]; } if(sum_ratio[i]<0) { sum[i] = ""+sum_ratio[i]; } } for(int i=count-1;i>-1;i--) { if(sum_ratio[i]!=0) { if(i!=0&&i!=1) { System.out.print(sum[i]+"x"+i); } if(i==1) { System.out.print(sum[i]+"x"); } if(i==0) { System.out.print(sum_ratio[i]); } } } //最高次幂为正数时多了+ // String[] sum = new String[101]; // // for(int i=0;i<101;i++) { // sum_ratio[i] = ratio_one[i]+ratio_two[i]; // // if(sum_ratio[i]>0) { // sum[i] = "+"+sum_ratio[i]; // } // if(sum_ratio[i]<0) { // sum[i] = ""+sum_ratio[i]; // } // } // // int i=0; // // for(i=100;sum_ratio[i]!=0;i--) // { // System.out.print(sum_ratio[i]+"x"+i); // } // // for(int j=i-1;j>-1;j--) // { // if(sum_ratio[j]!=0) { // if(j!=0&&j!=1) // { // System.out.print(sum[j]+"x"+j); // } // if(j==1) // { // System.out.print(sum[j]+"x"); // } // if(j==0) { // System.out.print(sum_ratio[j]); // } // } // // } } }