Java黑皮书课后题第3章:*3.3(代数:求解2*2线性方程)编写程序,提示用户输入a、b、c、d、e和f,然后显示结果
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第3章:*3.3(代数:求解2*2线性方程)编写程序,提示用户输入a、b、c、d、e和f,然后显示结果
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
*3.3(代數(shù):求解2*2線性方程)編寫程序,提示用戶輸入a、b、c、d、e和f,然后顯示結(jié)果
- 題目
- 題目描述
- 運(yùn)行示例
- 破題
- 代碼
題目
題目描述
3.3(代數(shù):求解22線性方程)
編寫程序,提示用戶輸入a、b、c、d、e和f,然后顯示結(jié)果
如果ad-bc為0,則報(bào)告消息"The equation has no solution"(方程式無解)
Cramer規(guī)則解線性方程組:
ax+by=e, cx+dy=f
x = (ed-bf) / (ad-bc)
y = (af-ec) / (ad-bc)
運(yùn)行示例
Enter a, b, c, d, e, f: 9.0 4.0 3.0 -5.0 -6.0 -21.0
x is -2.0 and y is 3.0
Enter a, b, c, d, e, f: 1.0 2.0 2.0 4.0 4.0 5.0
The equation has no solution
破題
利用上面給出的“如果ad-bc為0則方程式無解”
先計(jì)算ad-bc,再由其值決定是否求值
代碼
import java.util.Scanner;public class Test3_3 {public static void main(String[] args) {// 獲取a b c d e fScanner input = new Scanner(System.in);System.out.println("Enter a, b, c, d, e, f: ");double a = input.nextDouble(), b = input.nextDouble(), c = input.nextDouble();double d = input.nextDouble(), e = input.nextDouble(), f = input.nextDouble();// 判斷a*d-b*c是否為0if(a * d - b * c == 0){System.out.println("The equation has no solution");// 這里如果不加return的話,后面程序還會(huì)繼續(xù)執(zhí)行,輸出“x is Infinity and y is -Infinity”return; // 強(qiáng)制終止程序,這樣能在下面運(yùn)行的只有a * d - b * c != 0}// 求解double x = (e*d-b*f) / (a*d-b*c);double y = (a*f-e*c) / (a*d-b*c);// 輸出結(jié)果System.out.println("x is " + x + " and y is " + y);} }總結(jié)
以上是生活随笔為你收集整理的Java黑皮书课后题第3章:*3.3(代数:求解2*2线性方程)编写程序,提示用户输入a、b、c、d、e和f,然后显示结果的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第3章:3.2(游戏
- 下一篇: Java黑皮书课后题第3章:**3.4(