import java.util.Scanner;
蘆溪ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信: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("這是個(gè)完全平方");
e=f=-b/2*a;
System.out.print(e);
}
else if(d0) {
System.out.println("無效根");
}
else {
System.out.println("這是個(gè)不完全平方,需要用求根公式");
double g=Math.sqrt(Math.abs(b));
e=-(b+g)/2*a;
f=-(e);
System.out.println("第一根是"+e);
System.out.println("第二根是"+f);
}
}
}
這是我的運(yùn)行結(jié)果
擴(kuò)展資料:
利用java編程解決數(shù)學(xué)上的解方程題,我們需要把方程求解的思路寫出來,然后對應(yīng)到每一步具體的求解步驟上。就比如解一元二次方程,需要我們把解方程的求根公式,判斷式寫出,最后用代碼表示出來就好了。
需要注意的是,java中有特定的包和數(shù)學(xué)函數(shù)去求解數(shù)學(xué)問題,比如求根號可以用Math.sqrt()函數(shù),求絕對值用Math.abs()函數(shù)
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("請輸入復(fù)數(shù)C1的實(shí)部和虛部:");
x1 = sc.nextDouble();
y1 = sc.nextDouble();
System.out.println("請輸入復(fù)數(shù)C2的實(shí)部和虛部:");
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("復(fù)數(shù)C1:"+x1+"+"+y1+"i");
else
System.out.println("復(fù)數(shù)C1:"+x1+y1+"i");
if(y2=0)
System.out.println("復(fù)數(shù)C2:"+x2+"+"+y2+"i");
else
System.out.println("復(fù)數(shù)C2:"+x2+y2+"i");
if(b1=0)
{ System.out.println("復(fù)數(shù)C1+C2:"+(x1+x2)+"+"+(y1+y2)+"i");//直接運(yùn)算
System.out.println("復(fù)數(shù)C1+C2:"+C3.realPart+"+"+C3.imagPart+"i");//調(diào)用函數(shù)
}
else
{ System.out.println("復(fù)數(shù)C1+C2:"+(x1+x2)+(y1+y2)+"i");//直接運(yùn)算
System.out.println("復(fù)數(shù)C1+C2:"+C3.realPart+C3.imagPart+"i");//調(diào)用函數(shù)
}
if(b2=0)
{ System.out.println("復(fù)數(shù)C1-C2:"+(x1-x2)+"+"+(y1-y2)+"i");//直接運(yùn)算
System.out.println("復(fù)數(shù)C1-C2:"+C4.realPart+"+"+C4.imagPart+"i");//調(diào)用函數(shù)
}
else
{
System.out.println("復(fù)數(shù)C1-C2:"+(x1-x2)+(y1-y2)+"i");//直接運(yùn)算
System.out.println("復(fù)數(shù)C1-C2:"+C4.realPart+C4.imagPart+"i");//調(diào)用函數(shù)
}
}
}
class Complex//描述復(fù)數(shù)
{
public double realPart=0;//表示復(fù)數(shù)的實(shí)部
public double imagPart=0;//表示復(fù)數(shù)的虛部
public Complex(double real,double image)//定義構(gòu)造函數(shù)
{
realPart=real;
imagPart=image;
}
Complex add(Complex fushu)//實(shí)現(xiàn)當(dāng)前復(fù)數(shù)和參數(shù)復(fù)數(shù)fushu的加法
{
return new Complex(fushu.realPart+realPart,fushu.imagPart+imagPart);
}
Complex sub(Complex fushu)//實(shí)現(xiàn)當(dāng)前復(fù)數(shù)和參數(shù)復(fù)數(shù)fushu的減法
{
return new Complex(fushu.realPart-realPart,fushu.imagPart-imagPart);
}
}
//方法很簡單,就是控制虛部是符號很麻煩,順便也把C1、C2也輸出來了
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;
}
概率是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() {
}
/**
*三角形的第一點(diǎn)A隨便放,第二點(diǎn)B的位置決定是銳角的概率,設(shè)C點(diǎn)為圓心,
*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));
}
}
先分析規(guī)律,從第二行開始,每行4個(gè),逆序順序交替,末尾空一首位空一交替。
然后用for循環(huán)不斷的書寫這個(gè)數(shù)列,然后在數(shù)列中找到需要找的數(shù)字的位置,即這個(gè)數(shù)字所在索引。
下面為實(shí)現(xiàn)代碼:
package?baidu;
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Scanner;
public?class?MathList?{
//數(shù)列的盡頭
private?static?int?max;
//要找到的數(shù)字
private?static?int?bingo;
//最后一行的數(shù)字個(gè)數(shù)
private?static?int?sizeoflastrow;
//行數(shù)
private?static?int?rows;
//每行的排序方式,0為順序,1為逆序
private?static?int?order;
//排序后的數(shù)列
private?static?ListListString?numbers?=?new?ArrayListListString();
public?static?void?main(String[]?args)?{
System.out.println("請輸入最大數(shù)");
Scanner?scan?=?new?Scanner(System.in);
max?=?scan.nextInt();
System.out.println("請輸入要找到的數(shù)字");
bingo?=?scan.nextInt();
scan.close();
//計(jì)算最后一行數(shù)字的個(gè)數(shù)及行數(shù)
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("行數(shù)為"+rows+"行");
System.out.println("最后一行數(shù)字的個(gè)數(shù)為"+sizeoflastrow+"個(gè)");
//為每行插入數(shù)據(jù)
for?(int?i?=?0;?i??rows;?i++)?{
//計(jì)算此行是順序還是逆序
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)?{
//先插入一個(gè)空位
listi.add("");
//按順序插入數(shù)字
for?(int?j?=?0;?j??sizeoflastrow;?j++)?{
listi.add(new?Integer(5+(i-1)*4+j+1).toString());
}
//末尾補(bǔ)足空位
for?(int?j?=?0;?j??4-sizeoflastrow;?j++)?{
listi.add("");
}
//如果此行是逆序
}?else?if?(order?==?1){
//先按逆序插入數(shù)字
for?(int?j?=?0;?j??sizeoflastrow;?j++)?{
listi.add(new?Integer(5+(i-1)*4+(4-j)).toString());
}
//末尾補(bǔ)足空位
for?(int?j?=?0;?j??5-sizeoflastrow;?j++)?{
listi.add("");
}
}
//如果此行既不是首行也不是末行
}?else?if?(i!=0??i!=rows-1){
//如果此行是順序
if?(order?==?0)?{
//先插入一個(gè)空位
listi.add("");
//按順序插入數(shù)字
for?(int?j?=?0;?j??4;?j++)?{
listi.add(new?Integer(5+(i-1)*4+j+1).toString());
}
//如果此行是逆序
}?else?if?(order?==?1){
//先按逆序插入數(shù)字
for?(int?j?=?0;?j??4;?j++)?{
listi.add(new?Integer(5+(i-1)*4+(4-j)).toString());
}
//末尾插入一個(gè)空位
listi.add("");
}
}
numbers.add(listi);
}
System.out.println("排序后數(shù)組輸出為");
System.out.println("\tA\tB\tC\tD\tE");
for?(int?j?=?0;?j??rows;?j++)?{
String?s?=?(j+1)+"行\(zhòng)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("要找的數(shù)字\""+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)+"列");
}
}
}
}
}
標(biāo)題名稱:java代碼解決數(shù)學(xué)問題,java程序設(shè)計(jì)與問題求解
文章網(wǎng)址:http://jinyejixie.com/article40/dsedsho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、App開發(fā)、移動網(wǎng)站建設(shè)、做網(wǎng)站、自適應(yīng)網(wǎng)站、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)