《疯狂Java讲义》练习题 第三章 画近似圆
其实这个问题并不难,但是很多年没有研究过几何了.问题卡在这里了,准确的说我根本没有学过圆的标准公式这部分内容,google了很多,重新划了坐标研究了公式..解方程...
虽然结果还不是很圆,但是方法应该是正确了.
主要是因为double取整后有一些偏差.
另外行数多少,半径大小也相互影响
import java.lang.Math;
public class FirstProject {
public static void main(String[] args) {
paint(40); //半径40
}
public static void paint(int r) {
//假定圆心在坐标(r,r);
int y = r * 2; //y的坐标开始
int x = 0;
int c = 0; //中间空格数量
int z = 2; //每行递减量
for (int j = r * 2; j >= 0; j=j-z) {
x = getX(r, y);
System.out.print(getSpace(x) + "*");
c = (r-x)*2;
System.out.println(getSpace(c) + "*");
y-=z;
}
}
public static int getX(int r, int y) {
//解圆标准方程的
int x = y - r;
double t = Math.sqrt((r * r) - (x * x));
return (int) Math.round(r-t);
}
public static String getSpace(int i) {
String s = "";
for (int j = 0; j < i; j++) {
s += " ";
}
return s;
}
}
---------- 运行Java ----------
**
* *
* &nbs
相关文档:
Java Servlet API说明文档(2.1a版)(三)
软件包:javax.servlet.http
所包含的接口:HttpServletRequest;HttpServletResponse;HttpSession;HttpSessionBindingListener;HttpSessionContext。
所包含的类:Cookie;Http ......
今天来到学校才知道,这是张老师给我们上课的最后一天了,本来计划讲五天的,临时调整只讲了三天,好多同学知道消息后都通过飞秋给老师发信息,希望老师能多带我们几天,但是老师告诉我们因为公司里一些重要的事情需要处理,所以只能调整一下,以后的课是冯威老师给我们上,回顾这三天上课的内容,真的受益匪浅,这几天上课 ......
//文件的打开
import java.awt.FileDialog;
import java.awt.event.*;
import java.io.*;
import java.io.File;
import java.io.FileReader;
public class FileOpen {
private FileDialog filedialog_open;
private String fileopen = null, filename = null;// 用于存放打开文件地址 和文件名
private File fi ......
public class MainThread1{
public static void main(String args[]){
MinorThread m1=new MinorThread(1);
MinorThread m2=new MinorThread(2);
new Thread(m1).start();
new Thread(m2).start();
}
}
class MinorThrea ......