java filledrectangle_算法(第4版)-1.1.9 输入输出

标签:

总结:本小节讲述了输入输出的知识,包括标准输出、格式化输出、标准输入、重定向与管道、基于文件的输入输出、标准绘图库等。

重点:

1.在我们的模型中,Java程序可以从命令行参数或者一个名为标准输入流的抽象字符流中获得输入,并将输出写入另一个名为标准输出流的字符串中。

2.格式化输出规则:

· 常用的转换代码包括:

· d:用于Java整型的十进制数

· f:浮点数

· s:字符串

· 在%和转换代码之间可以插入一个整数来表示转换之后的值的宽度,即输出字符串的长度。

默认情况下,转换后会在字符串的左边添加空格以达到需要的宽度,如果我们想在右边加入空格则应该是用负宽度(如果转换得到的字符串比设定宽度要长,宽度会被忽略)。

· 在宽度之后我们还可以插入一个小数点以及一个数值来指定转换后的double值保留的小数位数(精度)或是String字符串所截取的长度。

3.将这些结合起来,将一个程序的输出重定向为另一个程序的输入叫做管道。

这种差别影响非常深远,因为他突破了我们能够处理的输入输出流的长度限制。

4.在本书中,我们会在数据分析和算法的可视化中使用StdDraw。

5.StdDraw绘图举例:

· 函数值

public classHanshuzhi {public static voidmain(String[] args) {int N = 100;

StdDraw.setXscale(0, N);

StdDraw.setYscale(0, N *N);

StdDraw.setPenRadius(.01);for (int i = 1; i <= N; i++) {

StdDraw.point(i, i);

StdDraw.point(i, i*i);

StdDraw.point(i, i*Math.log(i));

}

}

}

20180110213956962815.jpg

· 随机数组

@SuppressWarnings("deprecation")public classSuijishuzu {public static voidmain(String[] args) {int N = 50;double[] a = new double[N];for (int i = 0; i < N; i++)

a[i]=StdRandom.random();for (int i = 0; i < N; i++) {double x = 1.0 * i /N;double y = a[i] / 2.0;double rw = 0.5 /N;double rh = a[i] / 2.0;

StdDraw.filledRectangle(x, y, rw, rh);

}

}

}

20180110213956964769.jpg

· 已排序的随机数组

import java.util.*;

@SuppressWarnings("deprecation")public classYipaixudesuijishuzu {public static voidmain(String[] args) {int N = 50;double[] a = new double[N];for (int i = 0; i < N; i++)

a[i]=StdRandom.random();

Arrays.sort(a);for (int i = 0; i < N; i++) {double x = 1.0 * i /N;double y = a[i] / 2.0;double rw = 0.5 /N;double rh = a[i] / 2.0;

StdDraw.filledRectangle(x, y, rw, rh);

}

}

}

20180110213956966722.jpg

标签:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值