Java学习的第四十二天

1.例4.7弦截法求方程f(x)=x^3-5x^2+16x-80=0的根

 import java.util.Scanner;
 import java.lang.*;
 public class cjava {
      public static void main(String[] args) {
          double x1,x2,f1,f2,x;
          Scanner a=new Scanner(System.in);
          do
          {
              System.out.println("input x1,x2:");
             x1=a.nextDouble();
             x2=a.nextDouble();
             f1=f(x1);
             f2=f(x2);
         }while(f1*f2>=0);
         x=root(x1,x2);
        System.out.println("A root of equation is "+x);
     }
     static double f(double x) {
         double y;
         y=x*x-5*x+16*x-80;
       return y;
     }
     static double xpoint(double x1,double x2)
     {
         double y;
         y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
         return y;     }
     static double root(double x1,double x2)
     {
         double x,y,y1;
         y1=f(x1);
        do
         {
             x=xpoint(x1,x2);
             y=f(x);
         if(y*y1>0)
         {
            y1=y;
             x1=x;
         }
         else
             x2=x;
     }while(Math.sqrt(y)>=0.00001);
         return x;
         }
}

例4.8递归的方法求n!

import java.util.Scanner;
 public class cjava {
     public static void main(String[] args) {
int n;long y;
@SuppressWarnings("resource")
Scanner a=new Scanner(System.in);
System.out.println("please input an integer");
n=a.nextInt();
y=fac(n);
System.out.println(n+"!="+y);
         }
     static long fac(int n) {
         long f;
         if(n<0) {
             System.out.println("n<0,data error!");
             f=-1;
         }
         else if(n==0||n==1)
             f=1;
         else
             f=fac(n-1)*n;
         return f;
     }
     }

 2.没问题

3.明天继续写例题

原文地址:https://www.cnblogs.com/feng747/p/13519794.html