java列印圖形,java列印圖形abcd

本文目錄一覽:

java輸出圖形?

public static void main(String[] args) {

版int n=10; //可以通過調整n值,調整輸出菱形的大小。n=行數權+1

for(int i=1;in;i++){

for(int j=1;j=(in/2?n/2-i:i-n/2);j++){

System.out.print(” “);

}

for(int j=1;j(in/2?2*i:2*(n-i));j++){

System.out.print(“*”);

}

for(int j=1;j=(in/2?n/2-i:i-n/2);j++){

System.out.print(” “);

}

System.out.println();

}

}

java中怎樣列印一個等邊三角形

以下是實心、空心、倒立,三種等邊三角形的代碼:

實心等邊三角形:

public static void main(String[] args) {

int n = 5;

String c = “0”;

String x = “*”;

for (int i = 0; i n; i++) {

for (int k = 0; k n – i – 1; k++) {

System.out.print(c);

}

for (int k = 0; k i + 1; k++) {

System.out.print(x);

}

for (int k = 0; k i; k++) {

System.out.print(x);

}

/**

* 一下注釋掉的代碼屬於多餘的代碼,本程序只需要分成三塊實現

*/

// for (int k = 0; k n – i – 1; k++) {

// System.out.print(c);

// }

System.out.println();

}

}

空心等邊三角形:

public static void main(String[] args) {

int n = 6;

String c = ” “;

String x = “*”;

for (int i = 0; i n; i++) {

for (int j = 0; j 2 * n; j++) {

if (j == (n – i) || j == (n + i)) {

System.out.print(x);

} else {

System.out.print(c);

}

}

System.out.println();

}

for(int j=0;j2*(n+1)-1;j++){

System.out.print(x);

}

}

倒等邊三角形:

public static void main(String[] args) {

int n = 5;

String c = ” “;

String x = “*”;

for(int j=0;j2*(n+1)-1;j++){

System.out.print(x);

}

System.out.println();

for (int i = 0; i n; i++) {

for (int j = 0; j 2 * n; j++) {

if (j == i+1 || j == (2*n – i-1)) {

System.out.print(x);

} else {

System.out.print(c);

}

}

System.out.println();

}

}

怎樣用Java代碼列印並輸出如下圖形

這樣可以

public static void main(String[] args) {

String[] temps = {“A”,”B”,”C”,”D”,”E”,”F”,”G”};

for (int i = 1; i = temps.length; i++) {

for(int j = temps.length; j  i; j–){   

                 System.out.print(” “);   

            }

for (int j = 0; j  i*2-1; j++) {

  System.out.print(temps[i-1]);

}

System.out.println();

}

}

運行結果

      A

     BBB

    CCCCC

   DDDDDDD

  EEEEEEEEE

 FFFFFFFFFFF

GGGGGGGGGGGGG

java如何實現列印功能?

Print.java--列印內容定義

[code]

import java.awt.*;

import java.awt.event.*;

import java.awt.print.*;

import java.awt.image.*;

import javax.swing.*;

import javax.swing.event.*;

import javax.swing.border.*;

import javax.swing.event.*;

import java.util.*;

import java.io.*;

public class Print implements Printable{

int m_wPage;

int m_hPage;

int m_orientation;

Printable m_target;

int maxNumPage=1;

String title=”數據表格列印”;

Font titleFont=new Font(“黑體”,Font.BOLD,14);

boolean hasTail=true;

int tailAlign=0;

int headAlign=0;

int topSpace=0;

int leftSpace=0;

int yStart=0;

int yEnd=0;

int xStart=topSpace;

int xEnd=0;

int x=0,y=0;

String strTemp=”列印內容”;

public void doPrint(){

try{

m_orientation=PageFormat.PORTRAIT;

//設置列印對象,默認紙張

PrinterJob prnJob=PrinterJob.getPrinterJob();

PageFormat pageFormat=prnJob.defaultPage();

pageFormat.setOrientation(m_orientation);

m_wPage=(int)(pageFormat.getWidth());

m_hPage=(int)(pageFormat.getHeight());

//將待列印的窗體根據默認紙張設置傳入列印對象

prnJob.setPrintable(this,pageFormat);

if(!prnJob.printDialog()) return;

prnJob.print();

}catch(PrinterException ex){

ex.printStackTrace();

System.err.println(“列印錯誤:”+ex.toString());

}

}

/**

* 初始化列印參數

*/

public void initPrintParameter()

{

}

/**

*構造列印內容,以送印表機列印

*/

public int print(Graphics pg,PageFormat pageFormat,

int pageIndex) throws PrinterException{

//初始化列印參數

initPrintParameter();

//將畫布設置為頁面大小

pg.translate((int)pageFormat.getImageableX(),

(int)pageFormat.getImageableY());

int wPage=0;

int hPage=0;

//根據印表機頁面設置調整畫布大小

if(pageFormat.getOrientation()==pageFormat.PORTRAIT){

wPage=(int)pageFormat.getImageableWidth();

hPage=(int)pageFormat.getImageableHeight();

}

else{

wPage=(int)pageFormat.getImageableWidth();

wPage+=wPage/2;

hPage=(int)pageFormat.getImageableHeight();

pg.setClip(0,0,wPage,hPage);

}

wPage=wPage-2*leftSpace;

hPage=hPage-2*topSpace;

xStart=leftSpace;

xEnd=wPage-2;

//為畫布設置顏色和字體

int y=topSpace;

pg.setFont(titleFont);

pg.setColor(Color.black);

//畫標題,並使其居中

Font fn=pg.getFont();

FontMetrics fm=pg.getFontMetrics();

y+=fm.getAscent();

alignText(title,pg,y,xStart,xEnd,headAlign);

y+=30;

x=leftSpace+2;

Font headerFont=new Font(“宋體”,Font.BOLD,14);

pg.setFont(headerFont);

fm=pg.getFontMetrics();

int h=fm.getAscent();

yStart=y-1;

y+=h;

pg.setFont(headerFont);

fm=pg.getFontMetrics();

int header=y;

h=fm.getHeight();

//計算行高,每頁行數,總行數和指定頁碼的起始行、結束行

int rowH=Math.max(h,10);

int tailH=rowH+30;

int rowPerPage=0;

int leftPix=0;

if(hasTail){

rowPerPage=(hPage-header-tailH)/rowH;

leftPix=(hPage-header-tailH)%rowH;

yEnd=hPage-leftPix-tailH+2;

}

else{

rowPerPage=(hPage-header)/rowH;

leftPix=(hPage-header)%rowH;

yEnd=hPage-leftPix+2;

}

pg.drawString(strTemp,x,y);

//畫表格邊框

pg.drawLine(xStart,yStart,xStart,yEnd);

pg.drawLine(xStart,yStart,xEnd,yStart);

pg.drawLine(xEnd,yStart,xEnd,yEnd);

pg.drawLine(xStart,yEnd,xEnd,yEnd);

//列印頁碼

if(hasTail){

int pageNumber=pageIndex+1;

String s=”第”+pageNumber+”頁”;

alignText(s,pg,yEnd+30,xStart,xEnd,tailAlign);

}

System.gc();

return PAGE_EXISTS;

}

/**

* 文字排列,坐標在y處,顯示範圍(start-end)

* 0表示居中顯示,1表示左對齊,2表示右對齊

*/

private void alignText(String s,Graphics pg,int y,int start,

int end,int mode){

Font fn=pg.getFont();

FontMetrics fm=pg.getFontMetrics();

int wString=fm.stringWidth(s);

int x=start;

switch(mode)

{

case 0:

if((end-start-wString)0) x=start+(end-start-wString)/2;

break;

case 1:

break;

case 2:

if((end-start-wString)0) x=start+(end-start-wString);

break;

}

pg.drawString(s,x,y);

}

public static void main(String[] args){

Print p=new Print();

p.doPrint();

}

}

[code]

運行方法:

javac -d . Print.java

java Print

自己運行一下

原創文章,作者:ESBQ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/137751.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ESBQ的頭像ESBQ
上一篇 2024-10-04 00:18
下一篇 2024-10-04 00:18

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論