首頁 > Java > java教程 > Java程式透過從使用者輸入列印卐(卍)符號

Java程式透過從使用者輸入列印卐(卍)符號

WBOY
發布: 2023-08-30 10:01:03
轉載
1462 人瀏覽過

這裡,使用兩種不同的方法使用 Java 進行此設計。在這兩種方法中,十字記號的大小均由使用者決定。使用者提供表格或框架尺寸的輸入。卍字經常被用作使用不同語言(包括 java)學習行、列和表格佈局概念的範例。

萬字符是印度教、佛教和耆那教的宗教象徵。

Java程式透過從使用者輸入列印卐(卍)符號

使用 Java 製作卍字。

此處,使用三種不同的方法使用 Java 進行此設計。

多種方法

給定的問題將透過三種不同的方法來解決。

  • 透過使用兩個「for 迴圈」。

  • 透過使用drawLine()方法。

  • 透過使用 JavaFX 函式庫。

方法 1:使用兩個「for 迴圈」

列號和行號將由使用者輸入。卍字圖案將放置在方形區域中。這 」。鍵盤上的字元用於製作圖案。計算正方形的寬度的中點和高度的中點。使用兩個“for 循環”以適當的間隙列印垂直和水平的點線。這種方法的限制是線條不連續。

演算法1

  • 第 1 步 - 匯入所需的庫。

  • 第 2 步 - 決定要繪製的圖形的大小。

  • 第 3 步 - 設定表格行和列。

  • 第 4 步 - 使用「.」繪製萬字符圖案。性格。

  • 第 5 步 - 顯示結果。

範例(方法 1)

import java.util.Scanner;
public class swastika{
   public static void main (String[] args){
      int n;
      Scanner sc=new Scanner(System.in);
      System.out.print("Enter the row and col value <Select a number between 10 to 50 > :- ");
      n=sc.nextInt();
      sc.close();
      int row = n, col = n;
      for (int i = 0; i < row; i++) {
         for (int j = 0; j < col; j++){
            if (i < row / 2){
               if (j < col / 2){
                  if (j == 0)
                  System.out.print(".");
                  else
                  System.out.print(" "+ " ");
               }
               else if (j == col / 2)
                  System.out.print(" .");
               else{
                  if (i == 0)
                  System.out.print(" .");
               }
            }
            else if (i == row / 2)
               System.out.print(". ");
            else{
               if (j == col / 2 || j == col - 1)
                  System.out.print(". ");
               else if (i == row - 1){
                  if (j <= col / 2 || j == col - 1)
                     System.out.print(". ");
                  else
                  System.out.print(" "+ " ");
               }
               else
               System.out.print(" "+" ");
            }
         }
         System.out.print("\n");
      }
   };
}
登入後複製

說明

  • import java.util.Scanner - 為了取得使用者輸入,這裡導入了 Scanner 類別。它是 java.util 套件的一部分。

  • Scanner sc=new Scanner(System.in) - sc 是 Scanner 類別的物件。 System.in 用於透過鍵盤取得使用者輸入。

  • sc.close() - 用於在完成工作後關閉掃描器物件。

  • System.out.print() - 用於列印輸出。

輸出(方法 1)

Java程式透過從使用者輸入列印卐(卍)符號

輸出方法 1:十字記號

方法2:-透過使用drawLine()方法

使用drawLine函數設定框架尺寸和十字記號設計。繪製六條線條來製作卍字圖案。 java.awt.Graphics和java.awt.Graphics2D用於製作繪圖。這種方法的好處是線條是連續的。

演算法

  • 第 1 步 - 匯入所需的 java.awt.Graphics2D 函式庫。

  • 第 2 步 - 決定圖形的大小。也可以輸入圖形尺寸作為輸入。

  • 第 3 步 - 設定符號繪圖的框架大小。

  • 第 4 步 - 繪製十字記號。繪製從一點到另一點的連續線。

  • 第 5 步 - 顯示結果。

說明

  • import java.util.Scanner - 元件是可以顯示在螢幕上並且使用者可以與其互動的物件。例如,按鈕。

  • java.awt.Graphics2D - s這是 Java 中 2D 繪圖所需的類別。此類別擴展了原始 Graphics 類別並提供了附加功能和控制項。

  • drawLine() - drawLine(int x1, int y1, int x2, int y2) 用來指定兩個點(x1, y1) 和(x2, y2)加入形成一條線。

  • 注意 - 在命令提示字元中按control C 可關閉顯示框架視窗。

範例(方法 2)

import java.awt.Component;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.Scanner;
public class swastika_draw {
   public static void main(String[] args) {
      int n;
      Scanner sc=new Scanner(System.in);
      System.out.print("Enter the size of frame <Seclect from 300 to 700> :- ");
      n=sc.nextInt();
      sc.close();
      Frame frame = new Frame();
      frame.add(new CustomPaintComponent());
      int frameWidth = n;
      int frameHeight = n;
      frame.setSize(frameWidth, frameHeight);
      frame.setVisible(true);
   }
   static class CustomPaintComponent extends Component {
      public void paint(Graphics g) {
         Graphics2D g2d = (Graphics2D)g;
         int x1 = 10;
         int y1 = 10;
         int x2 = x1;
         int y2 = getSize().height/2;
         int x3 = getSize().width - 10;
         int y3 = y2;
         int x4= x3;
         int y4= getSize().height -10;
         int x5 = x3;
         int x6 = getSize().width/2;
         int y5= y1;
         int y6=y1;
         int x7=x6;
         int y7=y4;
         int x8=x1;
         int y8=y7;
         g2d.drawLine(x1, y1, x2, y2);
         g2d.drawLine(x2, y2, x3, y3);
         g2d.drawLine(x3, y3, x4, y4);
         g2d.drawLine(x5, y5, x6, y6);
         g2d.drawLine(x6, y6, x7, y7);
         g2d.drawLine(x7, y7, x8, y8);
      }
   }
}
登入後複製

輸出(方法 2)

Java程式透過從使用者輸入列印卐(卍)符號

輸出:十字記號繪圖

方法 3:- 使用 JavaFX 函式庫

安裝 JAVAFX 庫。 javafx.scene.shape.Line 和 javafx.scene.Group 用來製作繪圖。設定場景的大小。 Swastika 的設計是使用 Line 函數完成的。將六條線繪製到場景中以形成納粹標誌設計。這種方法的好處是線條是連續的。

演算法

  • 第 1 步 - 匯入所需的 javafx 函式庫。

  • 第 2 步 - 決定場景的大小。

  • 第 3 步 - 設定場景的畫布大小。

  • 第 4 步 - 繪製十字記號。繪製從一點到另一點的連續線。將所有行新增至群組。將小組放入場景中。

  • 第 5 步 - 顯示結果。

說明

  • Line() - Line(int x1, int y1, int x2, int y2) 用來指定兩個點(x1, y1) 和(x2, y2)加入形成一條線。

  • 注意 - 對於使用javafx,將其安裝在單獨的目錄中並產生run.bat。

  • run.bat 檔案的內容 -

    javac --module-path "C:\Program Files\Java\javafx-sdk-19.0.2.1\lib" --add-modules javafx.controls,javafx.fxml %1.java

    java --module-path "C:\Program Files\Java\javafx-sdk-19.0.2.1\lib" --add-modules javafx.controls,javafx.fxml %1

示例(方法 3)

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Line;
import javafx.stage.Stage;
public class swastika_draw1 extends Application{

   //swastika app starts here..
   @Override
   public void start(Stage stg1) {
      int x1 = 10;
      int y1 = 10;
      int x2 = x1;
      int y2 = 500/2;
      int x3 = 500 - 10;
      int y3 = y2;
      int x4= x3;
      int y4= 500 -10;
      int x5 = x3;
      int x6 = 500/2;
      int y5= y1;
      int y6=y1;
      int x7=x6;
      int y7=y4;
      int x8=x1;
      int y8=y7;
      
      //Creating swastika now....
      Line ln1= new Line(x1, y1, x2, y2);
      Line ln2= new Line(x2, y2, x3, y3);
      Line ln3= new Line(x3, y3, x4, y4);
      Line ln4= new Line(x5, y5, x6, y6);
      Line ln5= new Line(x6, y6, x7, y7);
      Line ln6= new Line(x7, y7, x8, y8);
      Group grp1 = new Group();
      adding all lines to grp1
      grp1.getChildren().add(ln1);
      grp1.getChildren().add(ln2);
      grp1.getChildren().add(ln3);
      grp1.getChildren().add(ln4);
      grp1.getChildren().add(ln5);
      grp1.getChildren().add(ln6);
      
      //Creating a Scene canvas
      Scene swastika_canvas = new Scene(grp1, 500, 500);
      
      //Set the title of the scene canvas
      stg1.setTitle("Swastika Example using JavaFx");
      
      //Adding the swastika_canvas to the stg
      stg1.setScene(swastika_canvas);
      
      //Displaying Swastika now...
      stg1.show();
   }
   //main method starts ...
   public static void main(String args[]){
      launch(args);
   }
}
登入後複製

如何使用javafx运行程序? (方法解释)

C:\java\javaprgstu>run.bat swastika_draw1
C:\java\javaprgstu>javac --module-path "C:\Program Files\Java\javafx-sdk-19.0.2.1\lib" --add-modules javafx.controls,javafx.fxml swastika_draw1.java
C:\java\javaprgstu>java --module-path "C:\Program Files\Java\javafx-sdk-19.0.2.1\lib" --add-modules javafx.controls,javafx.fxml swastika_draw1
登入後複製

输出(方法 3)

Java程式透過從使用者輸入列印卐(卍)符號

输出:使用 javafx 绘制纳粹十字记号

结论

本文中,通过Java语言使用这三种方法来制作卍字图案。第一种方法将图形打印为以表格格式展开的点。另一种方法是使用绘图表单,使用 java.awt.Graphics2D 库使用连续线绘制卍字。第三种方法使用 javafx 库将线条绘制到场景中。

以上是Java程式透過從使用者輸入列印卐(卍)符號的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板