易截截图软件、单文件、免安装、纯绿色、仅160KB

Java类求解一元二次方程的根

 佟强 http://blog.csdn.net/microtong
 OakCMS内容管理系统 http://www.oakcms.cn http://www.oakcms.net
一元二次方程ax2+bx+c=0,输入a,b,c三个系数,求解方程,结果有三种情况:两个实数根、一个实数根、两个复数根。
/**
 * Equation.java
 */
package cn.edu.uibe.oop;
/**
 * 计算一元二次方程的根
 * @author TongQiang
 *
 */
public class Equation {
 double a,b,c; //方程的系数
 double x1,x2; //两个根
 double r;     //实部
 double v;     //虚部
 int type;     //0表示一个根,1表示两个实根,2表示两个复数的根
 public Equation(double a,double b,double c){
  this.a = a;
  this.b = b;
  this.c = c;
 }
 private double delta(){
  return b*b-4*a*c;
 }
 public void calculate(){
  double d = delta();
  if(Math.abs(d) < 1E-5){
   type = 0;
   x1 = -b/(2*a);
   x2 = x1;
  }else if(d > 0){
   type = 1;
   x1 = (-b+Math.sqrt(d))/(2*a);
   x2 = (-b-Math.sqrt(d))/(2*a);
  }else{
   type = 2;
   r =  -b/(2*a);
   v = Math.sqrt(-d)/(2*a);
  }
 }
 public void showResult(){
  switch(type){
  case 0:
   System.out.println("方程只有一个实根,x1=x2="+x1);
   break;
  case 1:
   System.out.println("方程有两个实根,分别是:x1="+x1+"\tx2="+x2);
   break;
  case 2:
   System.out.println("方程有两个复数根,分别是:"+r+"+"+v+"i,\t"+r+"-"+v+"i");
   break;
  }
 }
 public static void main(String[] args) {
  Equation eq1 = new Equation(1,2,2);
  eq1.calculate();
  eq1.showResult();
 &nbs


相关文档:

JAVA遍历一个文件夹中的所有文件

在实际项目中给定一文件夹,得到这个文件夹下所有的文件这样的需求并不是很多,更多的是查找或是删除某一具体的文件
import java.io.File;
import java.util.ArrayList;
public class FileTest {
 private static ArrayList<String> filelist = new ArrayList<String>();
 
 public stati ......

获取java 类的路径

public class Path {
 //get class absolute address
 public String getPath() {
  String classPath = getClass().getName();
  if (classPath.indexOf(".") != -1) {
   classPath = classPath.substring(classPath.lastIndexOf(".") + 1,
     ......

几种常见的排序算法的JAVA实现

以O(n)的时间实现对正整数的排序。思路是:从最末位开始,对数组中每一个数的第k位进行计数排序,直到排到最高位为止。
缺点:只能对正整数进行排序,而且需要知道最大整数的最高位,使用范围太小。但这不失为一个很有趣的排序,因为它颠覆了比较排序的传统思路。
public static int[] radixSort(int[] inputs,int d){
......

java Socket的怪异之处

怪异之一:
connect(SocketAddress endpoint):这个方法,尝试连接server端,如果连接不上,就抛出IOException异常。如果连接成功了,就继续执行下一步的代码。
怪异之二:
boolean isConnected()  :这个方法的结果仅仅代表这个socket曾经成功连接到了server,但并不表示现在这个时刻它和server仍保持连接状态。
有 ......

Java中的值传递与引用传递


一.两个概念
实际参数(实参):方法调用时被传入的参数
形参:方法定义时声明的参数
二.三种传递方式
1.基本数据类型的值传递:
public static void main(String []args)
 {
  int i=10,j=5;
  tValue(i,j);
  System.out.println("i:"+i+"j:"+j);//打印结果:i=10,j=5
 } ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号