❶ 用java列印空心菱形,求詳解
你看看 代碼 敲一敲 你就會了 ,
我給你代碼寫了,注釋不是也可以給你直接 寫嗎?
這個要自己去理解其中的循環原理才回有效的! (我原來學習Java 就是這樣的)
希望你可以搞懂啊!
❷ java語言二維數組編寫空心菱形
可以根據用戶輸入的每條邊顯示多少個星星,而列印不同的空心菱形。
新建一個Diamond類
public class Diamond {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("請輸入一個數:");
int x=sc.nextInt(); // 取整個圖形的中心(邊長)
int n = x * 2 - 1; // 得到整個圖形所佔的行數(列數)
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= n; ++j) {
if( Math.abs(i-x) + Math.abs(j-x) == x-1 ) { // 確定關鍵條件
System.out.print(" *");
}
else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
溫馨提示:親 答題不易解題更難 您的支持是我繼續答題的動力 麻煩採納 謝謝
❸ java列印空心菱形
Java利用for循環輸出空心菱形的實例代碼
編寫程序,在控制台上輸出空心菱形,對角距離為6.
代碼如下:
public class Diamond {
public static void main(String[] args) {
printHollowRhombus(6);
}
public static void printHollowRhombus(int size) {
if (size % 2 == 0) {
size++;// 計算菱形大小
}
for (int i = 0; i < size / 2 + 1; i++) {
for (int j = size / 2 + 1; j > i + 1; j--) {
System.out.print(" ");// 輸出左上角位置的空白
}
for (int j = 0; j < 2 * i + 1; j++) {
if (j == 0 || j == 2 * i) {
System.out.print("* ");// 輸出菱形上半部邊緣
} else {
System.out.print(" ");// 輸出菱形上半部空心
}
}
System.out.println(""); //換行
}
for (int i = size / 2 + 1; i < size; i++) {
for (int j = 0; j < i - size / 2; j++) {
System.out.print(" ");// 輸出菱形左下角空白
}
for (int j = 0; j < 2 * size - 1 - 2 * i; j++) {
if (j == 0 || j == 2 * (size - i - 1)) {
System.out.print("* ");// 輸出菱形下半部邊緣
} else {
System.out.print(" ");// 輸出菱形下半部空心
}
}
System.out.println(""); //換行
}
}
}
效果如圖:
❹ java空心菱形演算法
這樣的代碼光是看是很難看明白的,自己舉個例子簡單地在紙上寫一寫畫一畫,就比較容易明白了。
假定size=5,可以想像一下菱形的形狀,size/2+1=3,按以上代碼的邏輯來看,就是先處理上面的3行,然後處理下面剩下的2行。
處理上面3行的時候,每一行需要根據行數分別輸出*和空格。先看第1行,i==0.
for (int i = 0; i < size / 2 + 1; i++) {
for (int j = size / 2 + 1; j > i + 1; j--) {
System.out.print(" ");// 輸出左上角位置空白
}
這段代碼此時的i==1,內層循環走完以後,會輸出2次空格(j==3,j==2時),
然後依次往下走。
不得不說,上面的代碼寫的太復雜了,這么多for循環,看著好費勁的說~~
❺ java怎麼列印空心菱形
Scanner sn = new Scanner(System.in);
int shuRu = sn.nextInt();//7
for(int i =0;i < 2*shuRu-1;i++){//i 0 1
for(int j =0;j<Math.abs(shuRu-(i+1));j++){
System.out.print(" ");
}
for (int j1 = 0; j1 <shuRu*2-1-2*Math.abs(shuRu-(i+1)); j1++) {
if(j1==0||j1==shuRu*2-1-2*Math.abs(shuRu-(i+1))-1){
System.out.print("*");
}else {
System.out.print(" ");
}
}
System.out.println();
}
❻ Java編程在控制台直接用循環輸出空心菱形(7行)
可以這么分析:空心菱形是將實心菱形挖空,而挖空的實質是去掉每行除了第一行和最後一行之外的" *".對實心菱形而言,用i控制行數,而其每一行都由兩段連續的符號集組成(一段是只由空格組成的序列,另一段則由空格+星號排列而成),因此在每一行里,我們可用兩個循環分別實現這兩段符號集,每一行結束要記得換行.在此基礎下上,我們只要加個"只輸出每一行的首列及其最後一列的空格+星號,而其它位置用兩個空格代替"這樣的條件即可實現空心菱形.具體實例如下: public class Demo{ public static void main(String[] args){ int i,j; for(i=1;i<=4;i++) //空心菱形上三角部分 { for(j=1;j<=40-2*i;j++) System.out.print(" "); for(j=1;j<=2*i-1;j++) if(j==1||j==2*i-1) System.out.print(" *"); else System.out.print(" "); System.out.println(); } for(i=3;i>=1;i--) //空心菱形除了上三角的其餘部分 { for(j=1;j<=40-2*i;j++) System.out.print(" "); for(j=1;j<=2*i-1;j++) if(j==1||j==2*i-1) System.out.print(" *"); else System.out.print(" "); System.out.println(); } } }
❼ java打一個空心菱形
下面這個是打邊長為5的,只有主要部分~~外面再加一個類就行了
public static void main(String[] args) {
for(int i=1;i<=5;i++)
{
for(int k=0;k<11-i*2-1;k++)System.out.print(" ");
for(int j=1;j<=i*2-1;j++)
{
if(j==1 || j==i*2-1) System.out.print("★");
else System.out.print(" ");
}
System.out.println();
}
for(int i=4;i>0;i--)
{
for(int k=9;k>i*2-1;k--)System.out.print(" ");
for(int j=1;j<=i*2-1;j++)
{
if(j==1 || j==i*2-1) System.out.print("★");
else System.out.print(" ");
}
System.out.println();
}
}
❽ java 怎樣寫出一個菱形程序空心和實心
java列印菱形通過二維數組來列印,實例如下:
inthangshu=11;
intyiban=hangshu/2+1;
intyibano=hangshu/2;
System.out.println("空心菱形:");
for(intk=1;k<=yiban;k++){
for(inti=1;i<=(yiban-k);i++){
System.out.print("");
}
System.out.print("*");
for(inti=1;i<=((k-2)*2+1);i++){
System.out.print("");
}
if(k!=1){
System.out.print("*");
}
System.out.println();
}
for(intk=yibano;k>=1;k--){
for(inti=1;i<=(yiban-k);i++){
System.out.print("");
}
System.out.print("*");
for(inti=1;i<=((k-2)*2+1);i++){
System.out.print("");
}
if(k!=1){
System.out.print("*");
}
System.out.println();
}
System.out.println("實心菱形:");
for(inti=1;i<=hangshu;i++){
if(i<=hangshu/2+1){
for(intk=1;k<=hangshu/2+1-i;k++){
System.out.print("");
}
for(intk=1;k<=i;k++){
System.out.print("*");
}
System.out.println();
}else{
for(intk=1;k<=(i-(hangshu/2+1));k++){
System.out.print("");
}
for(intk=1;k<=(2*(hangshu/2+1)-i);k++){
System.out.print("*");
}
System.out.println();
}
}
結果如下:
❾ 用java列印菱形。
一、整體實現思路:菱形9行9列可以將菱形分成上下兩個三角形,分析每行空格數和星號個數的關系。
二、一個三角形的實現思路:以輸出一個空心三角形為例:
(1)空格的輸出按-1遞減,字元的輸出按等差數列,公差為2
(2)判斷第一行和最後一行照常輸出。
(3)中間行僅輸出兩個字元。
三、菱形分實心和空心兩種,其代碼及解析分別如下:
(一)實心菱形。
1、函數代碼:
(9)java空心菱形擴展閱讀:
java列印的輸出方式解析:
1、print():print就是一般的標准輸出,但是不換行。
2、println():println和print基本沒什麼差別,就是最後會換行。
要分辨清楚System.out.print()和System.out.println()的區別。System.out.print()是單純的輸出,而System.out.println()的功能是輸出內容後換行,到達下一行,在使用時要注意區分兩者之間的不同。
❿ 用Java語言從控制台輸出空心菱形
public class Work ...{ public static void main(String[] args) throws IOException ...{ int len; // 菱長 String outstr=new String(); // 輸出 int i,j,x,y; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("請輸入一個菱長:"); String str = br.readLine(); len=Integer.parseInt(str); for(i=0;i<=len*2;i++)...{ for(j=0;j<=len*2;j++)...{ x=len-i; x=x<0?-1*x:x; y=len+(len-x); outstr+=(j==x||j==y?"*":" "); } outstr+=" "; } System.out.println(outstr); } }
麻煩採納,謝謝!