[java]代码库
package nrz;
import java.applet.*;
import java.awt.*;
import java.util.Scanner;
public class NRZ extends Applet {
private static final long serialVersionUID = 1L;
int w, h, EX, EY;
public void init() {
w = Integer.parseInt(getParameter("width"));
h = Integer.parseInt(getParameter("height"));
EY = (int) ((h - 30) / 2);
EX = (int) ((w - 30) / 4);
}
final static int n = 1000;
public void paint(Graphics g) {
int y = h / 2;
g.setColor(Color.black);
g.drawLine(0, y, w, y);// 画出X轴
g.drawLine(10, 0, 10, h);// 画出Y轴
g.drawLine(w - 10, y - 10, w, y);
g.drawLine(w - 10, y + 10, w, y);// 画X轴的箭头
g.drawLine(10, 0, 0, 10);
g.drawLine(10, 0, 20, 10);// 画Y轴的箭头
int lenx, leny;
lenx = (w - 30) / 10;
leny = (h - 30) / 10;
int Int = 1;
for (int i = 0; i < 10; i++) {
g.drawLine(10 + i * lenx, y, 10 + i * lenx, y - 10);
}
for (int i = 1; i < 10; i++) {
String ss = String.valueOf(Int);
// double类型转换为String类型
g.drawString(ss, 10 + i * lenx - 3, y + 20);
Int = Int + 1;
}// 画X轴坐标
Int = 1;
for (int i = 1; i < 2; i++) {
Int = Int + 1;
g.drawString("+V", 20, y - 3 * leny);
g.drawString("-V", 20, y + 3 * leny + 10);
}// 画Y轴坐标
g.drawString("0", 10 + 2, y + 20);
g.drawString("X", w - 10, y - 20);
g.drawString("Y", 30, 10);
g.setColor(Color.red);
g.setColor(Color.red);
System.out
.println("Please enter a string of 0s & 1s as a signal with space between every two numbers:");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] s = str.split(" ");
Integer[] c = new Integer[s.length];
for (int p = 0; p <= s.length; p++) {
c[p] = Integer.parseInt(s[p]);
System.out.println(c[p]);
int k = (int) Math.pow(-1, c[p]);
g.drawLine(10 + p * lenx, y + 3 * leny * k, 10 + (p + 1) * lenx, y
+ 3 * leny * k);
}
new NRZ();
}
}
//源代码片段来自云代码http://yuncode.net