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. stack 栈的实现

    今天晚上去「南哪」听了场AI的讲座,除了话筒真心不给力之外,算是对微软这方面的进展有了更多了解,毕竟是半宣传性质的活动吧. 光听这些是没用的,眼下还是打好基础,多尝试学点新技术,拓宽能力和视野比较重要 ...

  2. C++ new失败的处理

    我们都知道,使用 malloc/calloc 等分配内存的函数时,一定要检查其返回值是否为“空指针”(亦即检查分配内存的操作是否成功),这是良好的编程习惯,也是编写可靠程序所必需的.但是,如果你简单地 ...

  3. cxf和jaxws的对比

    和jaxws相比,服务器发布方式和客户端访问方式不同 以下是cxf的代码: 服务器发布方式: package service; import javax.xml.ws.Endpoint; import ...

  4. extJs学习基础3 ajax与php交互

    extJs代码: <script src="build/ext-all.js"></script> <script src="build/p ...

  5. [转]javascript Date format(js日期格式化)

    方法一:这个很不错,好像是 csdn 的 Meizz 写的: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q)  ...

  6. Swift开发小技巧--自定义转场动画

    自定义转场动画 个人理解为重写了被弹出控制器的modal样式,根据自己的样式来显示modal出来的控制器 例:presentViewController(aVC, animated: true, co ...

  7. Linux查找最近修改的文件

    查找当前目录下.phtml文件中,最近30分钟内修改过的文件. find . -name 查找当前目录下.phtml文件中,最近30分钟内修改过的文件,的详细情况. find . -name -ls ...

  8. KVO内部实现原理

    KVO的原理: 只要给一个对象注册一个监听, 那么在运行时, 系统就会自动给该对象生成一个子类对象, (格式如:NSKVONotifying_className), 并且重写自动生成的子类对象的被监听 ...

  9. js 对象 copy 对象

    function clone(myObj) { if (typeof (myObj) != 'object') return myObj; if (myObj == null) return myOb ...

  10. oracle 11g 新特性UTL_TCP、UTL_HTTP 和 UTL_SMTP程序包发邮件

    首先,创建一个 ACL: begindbms_network_acl_admin.create_acl (acl             => 'utlpkg.xml', ---创建的访问控制列 ...