public class Exc02 { public static void main(String[] args) { int n=8; for(int i=-n/2;i<=n/2;i++){ for(int j=0;j<(i>0?i:-i);j++){ System.out.print(" "); } for(int j=0;j<(i>0?-2*i+n:2*i+n);j++){ if(j==0||j==(i>0?-2*i+n:2*i+n)-1){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); } } }
public static void main(String[] args) { getXing(5); getXing(7); getXing(9);
} public static void getXing(int m) { int t = m+1; for(int i=1; i<=m; i++) { for(int j = 1; j<=Math.abs(t/2-i); j++) { System.out.print(" "); } for(int k = 1; k<=m-2*Math.abs(t/2-i);k++) { System.out.print("*"); } System.out.println(); } }
www.Google.com
回字四种写法之递归,记得以前一个面试题做过这个 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class teststar { /** * * @param args */ String sp = ""; int starsize = 0; String star = ""; public static void main(String[] args) { // TODO Auto-generated method stub while (true) { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); System.out.print("Please enter the number::"); try { String check = br.readLine(); if ("stop".equalsIgnoreCase(check)) break; int size = Integer.valueOf(check); teststar ttt = new teststar(); ttt.printStar(size); } catch (NumberFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } public String addSpace(int space) { if (space > 0) { sp = sp + " "; space--; addSpace(space); } return sp; } public String addStar(int istar) { if (istar > 0) { star = star + "* "; istar--; addStar(istar); } return star; } public void printStar(int manystar) { sp = ""; star = ""; if (manystar > 0) { starsize++; String space = this.addSpace(manystar - 1); String star = this.addStar(starsize); System.out.println(space + star); manystar--; printStar(manystar); } else { if (starsize > 0) { manystar--; starsize--; String star = this.addStar(starsize); String space = this.addSpace(-manystar); System.out.println(space + star); printStar(manystar); } } } }
public class Ling {
/** * @param args */ public String a = " "; public String b = "*"; public void print(){ String x[][] = {{a,a,a,b,a,a,a},{a,a,b,b,b,a,a},{a,b,b,b,b,b,a}, {b,b,b,b,b,b,b},{a,b,b,b,b,b,a},{a,a,b,b,b,a,a},{a,a,a,b,a,a,a} }; for(int i = 0; i < x.length; i++){ for(int j = 0; j < x.length; j++){
System.out.print(x[i][j]);
} System.out.println(); } }
public static void main(String[] args) { // TODO Auto-generated method stub Ling p = new Ling(); p.print(); }}
public class Ling2 { /** * @param args */ public void print(){ for(int i=0; i < 7; i++){ switch(i){ case 0: System.out.print(" *");break; case 1: System.out.print(" ***");break; case 2: System.out.print(" *****");break; case 3: System.out.print("*******");break; case 4: System.out.print(" *****");break; case 5: System.out.print(" ***");break; case 6: System.out.print(" *");break; }
System.out.println(); }
}
public static void main(String[] args) { // TODO Auto-generated method stub Ling2 p = new Ling2(); p.print(); } }
{
int n=10;
//前10行.上半部分
for(int i=1;i<=n;i++)//控制行数
{
for(int k=n-1;k>=i;k--)//打印空格
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)//打印*
{
System.out.print("*");
}
System.out.println();
}
//后9行,下半部分
for(int i=n-1;i>=1;i--)
{
for(int k=i;k<=n-1;k++)
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)
{
System.out.print("*");
}
System.out.println();
}
}
public static void main(String[] args) {
int n=8;
for(int i=-n/2;i<=n/2;i++){
for(int j=0;j<(i>0?i:-i);j++){
System.out.print(" ");
}
for(int j=0;j<(i>0?-2*i+n:2*i+n);j++){
if(j==0||j==(i>0?-2*i+n:2*i+n)-1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
{
getXing(5);
getXing(7);
getXing(9);
}
public static void getXing(int m)
{
int t = m+1;
for(int i=1; i<=m; i++)
{
for(int j = 1; j<=Math.abs(t/2-i); j++)
{
System.out.print(" ");
}
for(int k = 1; k<=m-2*Math.abs(t/2-i);k++)
{
System.out.print("*");
}
System.out.println();
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class teststar {
/**
*
* @param args
*/
String sp = "";
int starsize = 0;
String star = ""; public static void main(String[] args) {
// TODO Auto-generated method stub
while (true) {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.print("Please enter the number::");
try {
String check = br.readLine();
if ("stop".equalsIgnoreCase(check))
break;
int size = Integer.valueOf(check);
teststar ttt = new teststar();
ttt.printStar(size);
} catch (NumberFormatException e) { e.printStackTrace();
} catch (IOException e) { e.printStackTrace();
}
} } public String addSpace(int space) {
if (space > 0) {
sp = sp + " ";
space--;
addSpace(space);
}
return sp;
} public String addStar(int istar) {
if (istar > 0) {
star = star + "* ";
istar--;
addStar(istar);
}
return star;
} public void printStar(int manystar) {
sp = "";
star = "";
if (manystar > 0) {
starsize++;
String space = this.addSpace(manystar - 1);
String star = this.addStar(starsize);
System.out.println(space + star);
manystar--;
printStar(manystar);
} else {
if (starsize > 0) {
manystar--;
starsize--;
String star = this.addStar(starsize);
String space = this.addSpace(-manystar);
System.out.println(space + star);
printStar(manystar);
} } }
}
/**
* @param args
*/
public String a = " ";
public String b = "*";
public void print(){
String x[][] = {{a,a,a,b,a,a,a},{a,a,b,b,b,a,a},{a,b,b,b,b,b,a},
{b,b,b,b,b,b,b},{a,b,b,b,b,b,a},{a,a,b,b,b,a,a},{a,a,a,b,a,a,a}
};
for(int i = 0; i < x.length; i++){
for(int j = 0; j < x.length; j++){
System.out.print(x[i][j]);
}
System.out.println();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Ling p = new Ling();
p.print();
}}
* @param args
*/
public void print(){
for(int i=0; i < 7; i++){
switch(i){
case 0: System.out.print(" *");break;
case 1: System.out.print(" ***");break;
case 2: System.out.print(" *****");break;
case 3: System.out.print("*******");break;
case 4: System.out.print(" *****");break;
case 5: System.out.print(" ***");break;
case 6: System.out.print(" *");break;
}
System.out.println();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Ling2 p = new Ling2();
p.print(); } }
{
int n=10;
//前10行.上半部分
for(int i=1;i<=n;i++)//控制行数
{
for(int k=n-1;k>=i;k--)//打印空格
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)//打印*
{
System.out.print("*");
}
System.out.println();
}
//后9行,下半部分
for(int i=n-1;i>=1;i--)
{
for(int k=i;k<=n-1;k++)
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)
{
System.out.print("*");
}
System.out.println();
}
}
//后9行,下半部分
for(int i=n-1;i>=1;i--)
{
for(int k=i;k<=n-1;k++)
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)
{
System.out.print("*");
}
System.out.println();
}
}后九行for(int i=n-1;i>=1;i--)中i的值为一么是嘛,小弟新手这段代码理解不是很好,望各位高手指点一二。在此谢谢各位热心的网友。
贡献我的代码,仅供参考。-- 编程思想才是精髓package csdn;
/**
* 根据线性代数方式生成菱形
* Y
* ^
* *
* *
* *H
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* ******************************************》X
* -W* 0* * W
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
* *-H
* *
* *
*
* 如图,坐标系中四条直线围成的区域为菱形区域,即满足如下条件(线性代数都学过吧):
* X/W + Y/H <= 1.0
* X/W + Y/H >= -1.0
* X/W - Y/H >= -1.0
* X/W + Y/H <= 1.0
*
* @author : gaowei
* @time : 7:07:28 PM
* @email : [email protected]
* @description :
*/
public class Diamond
{ /**
* 根据菱形的宽和高化菱形
* draw
* @param W
* @param H
* 7:06:55 PM
*/
public void draw( int W, int H )
{
for (double Y = H; Y >= -H; Y--) {
for (double X = -W; X <= W; X++) {
if(X/W + Y/H <= 1.0
&& X/W + Y/H >= -1.0
&& X/W - Y/H >= -1.0
&& X/W - Y/H <= 1.0 ){
System.out.print( '*' );
}else {
System.out.print( ' ' );
}
}
System.out.println();
}
} public static void main( String[] args )
{
Diamond diamond = new Diamond();
diamond.draw( 15 , 10 );
}
}
int zj = (num+1)/2 ;
for(int i=1;i<=num;i++){
if(i<=zj){
//在打印*之前需要打印空格
for(int j=1; j<=zj-i;j++){
System.out.print(" ");
}
//打印朝下的每一层的*
for(int j=1;j<=2*i-1;j++){
System.out.print("*");
}
}else{//在打印*之前需要打印空格
for(int j=1; j<=i-zj;j++){
System.out.print(" ");
}
//打印朝下的每一层的*
for(int j=1;j<=((zj*2-1)-(i-zj)*2);j++){
System.out.print("*");
}
}
System.out.println("");//打印换行
}
}
public static void main(String []args){
p(5);
}
public static void p(int s){
for(int i=1;i<s;i++){
for(int y=1;y<s-i;y++){
System.out.print(" ");
}
for(int j=1;j<=i;j++){
System.out.print("*"+" ");
}
System.out.println();
} for(int a=1;a<=s;a++){
for(int x=1;x<=a;x++){
System.out.print(" ");
}
for(int b=1;b<s-a;b++){
System.out.print("*"+" ");
}
System.out.println();
}
}
}
我这个是每行按顺序来的
int len = 4; // 菱形边长
for (int row = -len; row <= len; row++) {
for (int col = -len; col <= len; col++) {
int tmp = len - Math.abs(row);
if (col >= -tmp && col <= tmp) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
{
/*
*
* *
* * *
* *
*
*/
public static void main(String[] args)
{
//在ab(n);ac(x)中,要x=n-1,这样出来的图形才会是菱形,只需改变函数的值,想打印多大的菱形都行。
ab(3);
ac(2); } /* *
定义 * * 这个图形的函数方法,菱形的上半部分
* * * */
public static void ab(int n)
{
for (int x=0;x<n ;x++ )
{
for (int y=x;y<n-1 ;y++ )
{
System.out.print(" ");//打印空格
}
for (int z=0;z<=x ;z++ )
{
System.out.print("* ");//注意是*加空格:“* ”
}
System.out.println();
}
} /*
定义 * * 这个图形的函数方法,也是菱形的下半部分
* */
public static void ac(int x)
{ for (int a=0;a<x ;a++ )
{
for (int c=0;c<=a ; c++)
{
System.out.print(" ");//打印空格
}
for (int b=a;b<x ; b++)
{
System.out.print("* ");//注意是*加空格:“* ”
}
System.out.println();
}
}
}
{
public static void main(String[] args)
{
int length = 32;
int j = length/2;
for(int i = 0; i < 10; i++)
{
for(int k = j; k > 0; k--)
{
System.out.print(" ");
}
System.out.print("*");
if(length - 1 - 2*j > 0)
{
for(int l = 0; l < length - 1 - 2*j; l++)
{
System.out.print(" ");
}
System.out.print("*");
}
for(int k = j; k > 0; k--)
{
System.out.print(" ");
}
System.out.println("");
j--;
}
for(int i = 0; i < 11; i++)
{
for(int k = j; k > 0; k--)
{
System.out.print(" ");
}
System.out.print("*");
if(length - 1 - 2*j > 0)
{
for(int l = 0; l < length - 1 - 2*j; l++)
{
System.out.print(" ");
}
System.out.print("*");
}
for(int k = j; k > 0; k--)
{
System.out.print(" ");
}
System.out.println("");
j++;
}
}
}
{
for (int i = -n; i <= n; ++i)
{
for (int j = -n; j <= n; ++j)
System.out.print(Math.Abs(j) == n - Math.Abs(i) ? "*" : " ");
System.out.println();
}
}
import java.util.HashMap;
import java.util.Map;
public class Text { /**
* @param args
*/
public static void main(String[] args) {
int num=8;
//上三角
for (int i = 0; i <num; i++) {
for (int j = 1; j < num-i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 1+2*i; j++) {
System.out.print("*");
}
System.out.println();
}
//下三角
for (int i = 0; i < num-1; i++) {
for (int j =0; j <= i; j++) {
System.out.print(" ");
}
for (int j =1; j <= 2*(num-1)-2*i-1; j++) {
System.out.print("*");
}
System.out.println();
}
}}