Scanner是默认按照行来读取数字的。

创建一个用来输入的函数

Scanner scan=new Scanner(System.in);system.in是表示从控制台输入。

然后用一个变量类接收这个值

int n=scan.nextInt();

只要声明一个对象即可,后面直接利用scan的方法转换成各种类型即可。

Random方法是随机生成数的方法。

种子是表示在这个数的范围内生成的随机数字。

即上面这个表示在10的范围内生成的随机数字。

下面是利用蒙特卡罗算法来判断矩阵AB=E,即矩阵互逆。

package suanfa;

import java.util.Random;
import java.util.Scanner;

public class MtklSuanfa {
public static void main(String[] args) {
System.out.println("请输入矩阵的维数n:");
Scanner scan=new Scanner(System.in);;

int n=scan.nextInt();

double a[][]=new double[n][n];
double b[][]=new double[n][n];
System.out.println("请输入矩阵a");

for ( int i = 0; i <n; i++) {
for ( int j = 0; j <n; j++) {
//scan=new Scanner(System.in);
a[i][j]=scan.nextDouble();
}

}
System.out.println("输出的矩阵a是:");
for ( int i = 0; i <n; i++) {
for ( int j = 0; j <n; j++) {
System.out.print(a[i][j]+"\t");
if (j+1==n) {
System.out.println("");

}
}

}


System.out.println("请输入矩阵b");
for (int i = 0; i <n; i++) {
for (int j = 0; j <n; j++) {
//scan=new Scanner(System.in);
b[i][j]=scan.nextDouble();
}

}
System.out.println("输出的矩阵b是:");
for ( int i = 0; i <n; i++) {
for ( int j = 0; j <n; j++) {
System.out.print(b[i][j]+"\t");
if (j+1==n) {
System.out.println("");

}
}

}

int result=mtkl(a,b,n);

if (result==0) {
System.out.println("a和b不是互逆矩阵");
}
else{
System.out.println("a和b是互逆矩阵");
}
}

private static int mtkl(double[][] a, double[][] b, int n) {
int flag = 0;
Random random=new Random();
double [] x=new double[n];
double [] y=new double[n];
double []z=new double[n];
for (int i = 0; i < n; i++) {
x[i]=random.nextInt(10);
}
//计算y=bx
compute(b,x,y,n);
//计算z=ay=abx
compute(a,x,z,n);

for (int i = 0; i < n; i++) {
if(Math.abs( z[i]-x[i] )==0 ){
flag=1;
}
flag=0;

}
return flag;

}

private static void compute(double[][] a, double[] x, double[] y, int n) {
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
y[i] += a[i][j] * x[j];
}
}

}

java中Scanner和random的用法的更多相关文章

  1. JAVA中字符串函数subString的用法小结

    本篇文章主要是对JAVA中字符串函数subString的用法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 String str; str=str.substring(int begi ...

  2. 【Java学习笔记之二十九】Java中的"equals"和"=="的用法及区别

    Java中的"equals"和"=="的用法及区别 在初学Java时,可能会经常碰到下面的代码: String str1 = new String(" ...

  3. java中 this 的三种用法

    Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 ...

  4. Java中枚举的写法和用法

            在公司代码中,用了一大堆的枚举,看得我好懵逼.下面开始看看枚举怎么写和怎么用. 一.枚举的写法         关于枚举的写法,网上好多这方面的知识.这里直接贴一个我自己写的枚举类的代 ...

  5. Java中try,catch,finally的用法

    Java中try,catch,finally的用法,以前感觉还算熟悉,但看到一篇博文才有更深点的理解,总结网友博客如下. Java异常处理的组合方式: 1.try+catch  运行流程:运行到try ...

  6. python中的随机函数random的用法示例

    python中的随机函数random的用法示例 一.random模块简介 Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据 ...

  7. java中scanner类的用法

    在Eclipse中编写程序时,如果我们的变量是需要手动输入的时候,我们就可以用到scanner类了. Scanner类,这是一个用于扫描输入文本的新的实用程序.由于任何数据都必须通过同一模式的捕获组检 ...

  8. Java中Scanner用法总结

    最近在做OJ类问题的时候,经常由于Scanner的使用造成一些细节问题导致程序不通过(最惨的就是网易笔试,由于sc死循环了也没发现,导致AC代码也不能通过...),因此对Scanner进行了一些总结整 ...

  9. java中super的两种用法

    通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量.但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自 ...

随机推荐

  1. js队列

    用指针和数组模拟基本队列 http://blog.csdn.net/zhuwq585/article/details/53177192 js下的事件队列,或者异步队列 http://www.jb51. ...

  2. SQLServer中的事务与锁

    事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写. 死锁:是数据库性能的 ...

  3. android 布局之scrollview

    今天在布局页面的时候后犯了难,我要显示的内容一个页面展示不完,怎么办呢? 于是随便找了个app点开一看,哎呀原来还能翻动啊!这是啥布局呢?原来是ScrollView 官方api相关的内容全是英文,这可 ...

  4. python基础-内置函数详解

    一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii ...

  5. MapReduce编程示例

    1.将hadoop插件放入eclipse/plugins目录中 2.eclipse配置hadoop 依赖包目录 Window—Preferences 3.新建Map/Reduce Project项目 ...

  6. 1010每次备份我的MySQL数据库

    转自http://bbs.csdn.net/topics/320136534 在windows平台下面 /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/* ...

  7. 网上找到的一个jquery版网页换肤特效

    这个跟我之前在锋利的JQuery那本书里看到的那个一模一样. <!DOCTYPE html> <html> <head> <meta name="& ...

  8. “Ceph浅析”系列之二——Ceph概况

    本文将对Ceph的基本情况进行概要介绍,以期读者能够在不涉及技术细节的情况下对Ceph建立一个初步印象. 1. 什么是Ceph? Ceph的官方网站Ceph.com上用如下这句话简明扼要地定义了Cep ...

  9. android 之 Toast通知的使用

    1.默认效果:   代码: Toast.makeText(getApplicationContext(), "默认Toast样式",      Toast.LENGTH_SHORT ...

  10. 二、处理MVC多级目录问题——以ABP为基础架构的一个中等规模的OA开发日志

    就个人感觉而言.ASP.NET MVC是一种非常反人类的设计.(我没有接触过Java的MVC,不知道两者是否一样.如果一样,那么搞Java的同学也挺可怜.)尤其是MVC的路由机制,灰常灰常反动.路由所 ...