java代码解决数学问题,java程序设计与问题求解

如何用java编写一元二次方程的求根问题

import java.util.Scanner;

芦溪ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

public class 一元二次方程 {

public static void main(String[] args) {

System.out.println("请输入你一元二次方程的a,b,c");

Scanner input=new Scanner(System.in);

int a=input.nextInt();

int b=input.nextInt();

int c=input.nextInt();

double d=b*b-4*a*c;

double e,f;

if (d==0){

System.out.println("这是个完全平方");

e=f=-b/2*a;

System.out.print(e);

}

else if(d0) {

System.out.println("无效根");

}

else {

System.out.println("这是个不完全平方,需要用求根公式");

double g=Math.sqrt(Math.abs(b));

e=-(b+g)/2*a;

f=-(e);

System.out.println("第一根是"+e);

System.out.println("第二根是"+f);

}

}

}

这是我的运行结果

扩展资料:

利用java编程解决数学上的解方程题,我们需要把方程求解的思路写出来,然后对应到每一步具体的求解步骤上。就比如解一元二次方程,需要我们把解方程的求根公式,判断式写出,最后用代码表示出来就好了。

需要注意的是,java中有特定的包和数学函数去求解数学问题,比如求根号可以用Math.sqrt()函数,求绝对值用Math.abs()函数

利用Java编程实现要求的数学运算

package javaapplication1;

import java.util.Scanner;

public class testComplex {

public static void main(String[] args){

double x1=0,y1=0,x2=0,y2=0;

double b1=0,b2=0;

Scanner sc = new Scanner(System.in);

System.out.println("请输入复数C1的实部和虚部:");

x1 = sc.nextDouble();

y1 = sc.nextDouble();

System.out.println("请输入复数C2的实部和虚部:");

x2 = sc.nextDouble();

y2 = sc.nextDouble();

Complex C1=new Complex(x1,y1);

Complex C2=new Complex(x2,y2);

Complex C3=C1.add(C2);//C1+C2

Complex C4=C2.sub(C1);//C1-C2

b1=C3.imagPart;

b2=C4.imagPart;

if(y1=0)

System.out.println("复数C1:"+x1+"+"+y1+"i");

else

System.out.println("复数C1:"+x1+y1+"i");

if(y2=0)

System.out.println("复数C2:"+x2+"+"+y2+"i");

else

System.out.println("复数C2:"+x2+y2+"i");

if(b1=0)

{ System.out.println("复数C1+C2:"+(x1+x2)+"+"+(y1+y2)+"i");//直接运算

System.out.println("复数C1+C2:"+C3.realPart+"+"+C3.imagPart+"i");//调用函数

}

else

{ System.out.println("复数C1+C2:"+(x1+x2)+(y1+y2)+"i");//直接运算

System.out.println("复数C1+C2:"+C3.realPart+C3.imagPart+"i");//调用函数

}

if(b2=0)

{ System.out.println("复数C1-C2:"+(x1-x2)+"+"+(y1-y2)+"i");//直接运算

System.out.println("复数C1-C2:"+C4.realPart+"+"+C4.imagPart+"i");//调用函数

}

else

{

System.out.println("复数C1-C2:"+(x1-x2)+(y1-y2)+"i");//直接运算

System.out.println("复数C1-C2:"+C4.realPart+C4.imagPart+"i");//调用函数

}

}

}

class Complex//描述复数

{

public double realPart=0;//表示复数的实部

public double imagPart=0;//表示复数的虚部

public Complex(double real,double image)//定义构造函数

{

realPart=real;

imagPart=image;

}

Complex add(Complex fushu)//实现当前复数和参数复数fushu的加法

{

return new Complex(fushu.realPart+realPart,fushu.imagPart+imagPart);

}

Complex sub(Complex fushu)//实现当前复数和参数复数fushu的减法

{

return new Complex(fushu.realPart-realPart,fushu.imagPart-imagPart);

}

}

//方法很简单,就是控制虚部是符号很麻烦,顺便也把C1、C2也输出来了

用JAVA代码解决数学问题

public static void main(String[] args) {

int a=2,b=0,c=1,d=10000,e=0,f=1,g=3,h=10000,i=1,j=4,k=0,l=10000;

int x,y,z;

int m = f(a, b, c, e, f ,g, i, j, k);

int m1 = f(d, b, c, h, f, g, l, j, k);

int m2 = f(a, d, c, e, h, g, i, l, k);

int m3 = f(a, b, d, e, f, h, i, j, l);

x = m1/m;

y = m2/m;

z = m3/m;

System.out.println(x+ " " + y +" "+z);

}

public static int f(int a,int b,int c,int d,int e,int f,int g,

int h,int i){

return a*e*i+b*f*g+c*d*h-a*f*h-b*d*i-c*e*g;

}

Java编程解数学题

概率是1/4,可以用java程序模拟一下:

import java.util.Random;

/*

* Rate.java

*

* Created on 2006年9月16日, 下午4:54

*

* To change this template, choose Tools | Template Manager

* and open the template in the editor.

*/

/**

*

* @author

*/

public class Rate {

/** Creates a new instance of Rate */

public Rate() {

}

/**

*三角形的第一点A随便放,第二点B的位置决定是锐角的概率,设C点为圆心,

*ABC为锐角的概率是:角ACB角度/360

*n值越大,越接近0.25

*/

public static double rate(int n){

Random random=new Random();

double rate=0;

for(int i=0;in;i++){

rate+=random.nextDouble()*180;

}

return rate/(n*360);

}

public static void main(String[] args) {

System.out.println("rate(200次): "+Rate.rate(200));

}

}

用java编写实现下图中的数学排列规律

先分析规律,从第二行开始,每行4个,逆序顺序交替,末尾空一首位空一交替。

然后用for循环不断的书写这个数列,然后在数列中找到需要找的数字的位置,即这个数字所在索引。

下面为实现代码:

package baidu;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class MathList {

//数列的尽头

private static int max;

//要找到的数字

private static int bingo;

//最后一行的数字个数

private static int sizeoflastrow;

//行数

private static int rows;

//每行的排序方式,0为顺序,1为逆序

private static int order;

//排序后的数列

private static ListListString numbers = new ArrayListListString();

public static void main(String[] args) {

System.out.println("请输入最大数");

Scanner scan = new Scanner(System.in);

max = scan.nextInt();

System.out.println("请输入要找到的数字");

bingo = scan.nextInt();

scan.close();

//计算最后一行数字的个数及行数

if (max=5) {

sizeoflastrow = max%5;

rows = 1;

} else if (max5){

sizeoflastrow = (max-5)%4;

if (sizeoflastrow==0) {

rows = ((max-5)-(max-5)%4)/4+1;

} else {

rows = ((max-5)-(max-5)%4)/4+2;

}

}

System.out.println("行数为"+rows+"行");

System.out.println("最后一行数字的个数为"+sizeoflastrow+"个");

//为每行插入数据

for (int i = 0; i  rows; i++) {

//计算此行是顺序还是逆序

order = i%2;

ListString listi = new ArrayListString();

//如果此行为第一行

if (i==0) {

for (int j = 0; j  max  j  5; j++) {

listi.add(new Integer(j+1).toString());

}

while (listi.size()5) {

listi.add("");

}

//如果此行为最后一行

} else if (i!=0  i==rows-1){

//如果此行是顺序

if (order == 0) {

//先插入一个空位

listi.add("");

//按顺序插入数字

for (int j = 0; j  sizeoflastrow; j++) {

listi.add(new Integer(5+(i-1)*4+j+1).toString());

}

//末尾补足空位

for (int j = 0; j  4-sizeoflastrow; j++) {

listi.add("");

}

//如果此行是逆序

} else if (order == 1){

//先按逆序插入数字

for (int j = 0; j  sizeoflastrow; j++) {

listi.add(new Integer(5+(i-1)*4+(4-j)).toString());

}

//末尾补足空位

for (int j = 0; j  5-sizeoflastrow; j++) {

listi.add("");

}

}

//如果此行既不是首行也不是末行

} else if (i!=0  i!=rows-1){

//如果此行是顺序

if (order == 0) {

//先插入一个空位

listi.add("");

//按顺序插入数字

for (int j = 0; j  4; j++) {

listi.add(new Integer(5+(i-1)*4+j+1).toString());

}

//如果此行是逆序

} else if (order == 1){

//先按逆序插入数字

for (int j = 0; j  4; j++) {

listi.add(new Integer(5+(i-1)*4+(4-j)).toString());

}

//末尾插入一个空位

listi.add("");

}

}

numbers.add(listi);

}

System.out.println("排序后数组输出为");

System.out.println("\tA\tB\tC\tD\tE");

for (int j = 0; j  rows; j++) {

String s = (j+1)+"行\t"+numbers.get(j).get(0);

for (int k = 1; k  5; k++) {

s = s + "\t" + numbers.get(j).get(k);

}

System.out.println(s);

}

System.out.print("要找的数字\""+bingo+"\"在:");

for (int j = 0; j  numbers.size(); j++) {

ListString list = numbers.get(j);

for (int j2 = 0; j2  5; j2++) {

if (list.get(j2).equals(new Integer(bingo).toString())) {

System.out.print("第"+(j+1)+"行,第"+(j2+1)+"列");

}

}

}

}

}


分享题目:java代码解决数学问题,java程序设计与问题求解
标题来源:http://scyanting.com/article/dsedsho.html