Java黑皮书课后题第8章:*8.25(马尔可夫矩阵)一个n*n的矩阵,如果每个元素都是正数,并且每列的元素的和为1,则成为正马尔可夫矩阵。编写下面的方法来检测矩阵是否是马尔可夫矩阵
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第8章:*8.25(马尔可夫矩阵)一个n*n的矩阵,如果每个元素都是正数,并且每列的元素的和为1,则成为正马尔可夫矩阵。编写下面的方法来检测矩阵是否是马尔可夫矩阵
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
*8.25(馬爾可夫矩陣)一個n*n的矩陣,如果每個元素都是正數(shù),并且每列的元素的和為1,則成為正馬爾可夫矩陣。編寫下面的方法來檢測矩陣是否是馬爾可夫矩陣
- 題目
- 題目描述與運行示例
- 破題
- 代碼
題目
題目描述與運行示例
8.25(馬爾可夫矩陣)一個nn的矩陣,如果每個元素都是正數(shù),并且每列的元素的和為1,則成為正馬爾可夫矩陣。編寫下面的方法來檢測矩陣是否是馬爾可夫矩陣:
public static boolean isMarkovMatrix(double[][] m)
編寫一個測試程序,提示用戶數(shù)輸入一個3*3的double值的矩陣,測試它是否是馬爾可夫矩陣。下面是運行示例:
破題
代碼
import java.util.Scanner;public class Test8_25 {public static void main(String[] args) {//1. 主方法:聲明一個3*3的double型矩陣double[][] array = new double[3][3];//2. 主方法:輸出提示語句,接收用戶輸入矩陣元素Scanner input = new Scanner(System.in);System.out.println("Enter a 3-by-3 matrix row by row:");for (int i = 0 ; i < 3 ; i++){for (int j = 0 ; j < 3 ;j++){array[i][j] = input.nextDouble();}}//3. 主方法:調(diào)用方法isMarkovMatrix,傳入矩陣;根據(jù)返回值輸出結(jié)果if (isMarkovMatrix(array)){System.out.println("It is a Markov matrix");} else {System.out.println("It is not a Markov matrix");}}public static boolean isMarkovMatrix(double[][] m){double temp = 0;//4. isMarkovMatrix方法:判斷每個元素是否都是正數(shù)+對列求和看是否全為1for (int j = 0 ; j < m[0].length ; j++){temp = 0;for (int i = 0 ; i < m.length ; i++){if (m[i][j] < 0){return false;}temp += m[i][j];}if (temp != 1){return false;}}return true;} }總結(jié)
以上是生活随笔為你收集整理的Java黑皮书课后题第8章:*8.25(马尔可夫矩阵)一个n*n的矩阵,如果每个元素都是正数,并且每列的元素的和为1,则成为正马尔可夫矩阵。编写下面的方法来检测矩阵是否是马尔可夫矩阵的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第8章:*8.24(
- 下一篇: Java黑皮书课后题第8章:*8.26(