易截截图软件、单文件、免安装、纯绿色、仅160KB

《疯狂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帮助4

Java Servlet API说明文档(2.1a版)(四)
术语表\r
bytecode 
      字节码:由Java编译器和Java解释程序生成的机器代码。
cookie 
      由Web服务器建立的数据,该数据存储在用户的计算机上,提供了一个Web站点跟踪用户的参数并 ......

java 转义字符

Xml代码 \n 回车(\u000a)   \t 水平制表符(\u0009)   \b 空格(\u0008)   \r 换行(\u000d)   \f 换页(\u000c)   \' 单引号(\u0027)   \" 双引号(\u0022)   \\ 反斜杠(\u005c)   \ddd 三位八进制 ......

传智博客java培训 javaweb基础之编码

一直以来,java对于我都是新事物,对于新事物的接受方式也一直习惯从浅入深,循序渐进。
但是今天,张孝详老师给我们上了生动的一课,一个程序员最重要的能力就是学习能力,因为
计算机领域的技术其更新超快,目前所掌握的知识很有可能短时间内会被淘汰,而且会出现更好
更简洁的语言,那么该怎么去掌握呢。张老师认为, ......

交换连个对象的值(C/C++?JAVA)

如何交换两个变量的值:
C语言中的传值代码如下:
int change(int x,int y)
{
int temp=x;
x=y;
y=temp;
}
C语言中的传址代码如下:
int change(int *p,int *q)
{
int temp=*p;
*p=*q;
*q=temp;
}
使用C++中的引用类型代码如下:
int change(int &x,int &y)
{
int temp=x;
x=y;
y=temp;
}
JAV ......

Java中的==和equals区别


引言:从一个朋友的blog转过来的,里面解决了两个困扰我很久的问题。很有久旱逢甘霖的感觉。
中软国际电子政务部Jeff Chi总结,转载请说明出处。
概述:
       A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号