如何用Java打印出y=x^3的图像
解决方案 »
- hibernate zero configuration无需hibernate.cfg.xml
- 大家都说extjs做大型ERP会有风险
- 关于hql的 的一个问题。
- 关于Hibernate进行单向一对多的映射问题
- 是不是缓存的原因?还是struts组件
- 初学hibernate,Hibernate Synchronizer这个插件感觉有点问题,急死了!老是有错误
- JAVA WEB 下最好用的GRID控件有哪些?
- SessionHome接口连编译都过不去
- EJB部署时的异常!
- 小弟请教一个问题 大家的项目现在用的是mybatis还是hibernate
- idea 常用快捷键
- 怎么把存入的数组输出来为基数的元素?
java不适合做数学图形打印,可以考虑使用MATLAB之类的软件。
最后,满意的话,记得结贴给分package eg4;import java.util.Scanner;public class Test6 {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner sc=new Scanner(System.in);
System.out.println("请输入最大横坐标:");
int range=sc.nextInt();
System.out.println();
int sum=0,imlong=range*range*range*2+1,imwide=range*2+1;
String[][] image=new String[imlong][imwide];
for (int i = 0; i < imlong; i++) {
for (int j = 0; j < imwide; j++) {
image[i][j]=" ";
}
}
image[0][range*2]="*";
for (int i = imwide-2; 0<=i; i--) {
sum+=range*range*range-(range-1)*(range-1)*(range-1);
image[sum][i]="*";
range--;
}
for (int i = 0; i < imlong; i++) {
for (int j = 0; j < imwide; j++) {
System.out.print(image[i][j]);
}
System.out.println();
}
}
}
import javax.swing.*;public class NumberAxis extends JPanel { private static final long serialVersionUID = 1L;
JFrame frame; public static void main(String[] args) {
NumberAxis numberAxis = new NumberAxis();
numberAxis.go();
} private void go() {
frame = new JFrame();
NumberAxis numberAxis = new NumberAxis();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.add(numberAxis);
frame.setTitle("math");
frame.setVisible(true);
} @Override
public void paintComponent(Graphics g) {
g.setColor(Color.black);
int height = this.getHeight();
int width = this.getWidth();
g.drawLine(0, height / 2, width, height / 2);
g.drawLine(width / 2, 0, width / 2, height);
//在屏幕中间构建平面直角坐标系
double x, y;
g.setColor(Color.blue);
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j++) {
//遍历平面直角坐标系,如果一个点满足要求就绘制这个点
x = (i - width / 2 - 1) / 100.0;
y = (height / 2 - j - 1) / 100.0;
if (isRight(x*x*x, y, 0.01)) {
g.fillOval(i, j, 2, 2);
}
}
}
} boolean isRight(double num1, double num2, double error) {
//判断两个数字是否在误差允许范围
if (Math.abs(num1 - num2) <= error)
return true;
return false;
}
}