关于阶层打印java的信息
今天给各位分享阶层打印java的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA 实现打印用什么方法?
- 2、求java程序:输入N个正整数,按升序排列输出,并计算最大正整数与最小数的阶层。
- 3、使用java程序接收一个小于10的整数n,计算并输出阶乘.
- 4、java里 阶层是怎样写的?
- 5、java 中如何实现打印
- 6、在java中什么是打印?什么是打印功能?
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
自己运行一下
求java程序:输入N个正整数,按升序排列输出,并计算最大正整数与最小数的阶层。
import java.io.*;
public class Test{
public static void main(String[] args){
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//int a[]={5,8,4,3,6,9};
int[] a;
System.out.println("输入数组的大小:");
int size=0;;
try {
size = Integer.parseInt(br.readLine());
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
a=new int[size];
for(int i=0;ia.length;i++){
System.out.print("a["+i+"]=");
try {
a[i]=Integer.parseInt(br.readLine());
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("before sort:");
for(int i=0;ia.length;i++){
System.out.print(" "+a[i]);
}
System.out.println();
//排序
sortArray(a);
System.out.println("aftersort:");
for(int i=0;ia.length;i++){
System.out.print(" "+a[i]);
}
System.out.println();
//阶乘
int min=a[0];
int max=a[a.length-1];
long result1=jieCheng(min);
long result2=jieCheng(max);
if(result1!=-1){
System.out.println(min+"的阶乘为:"+result1);
}
if(result2!=-1){
System.out.println(max+"的阶乘为:"+result2);
}
}
/**
* 冒泡排序(升序)
*/
public static void sortArray(int[] a) {
int n = a.length;
int temp;
for (int i = 1; i = n - 1; i++) {
for (int j = 0; j = n - i - 1; j++) {
if (a[j] a[j + 1]) {
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;
}
}
}
}
/*
* 阶乘
*/
public static long jieCheng(int k){
if(k0){
System.out.println("负数没有阶乘。");
return -1;
}
if(k==0 || k==1){
return 1;
}
//k=2
long result=1;
for(int i=1;i=k;i++){
result*=i;
}
return result;
}
}
使用java程序接收一个小于10的整数n,计算并输出阶乘.
你好,可以用递归方法实现,以下是实现代码:
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
int n = 0;
try{
// 接收控制台传递参数,并将转化为整数
n = Integer.parseInt(args[0]);
}catch(Exception ex)
{
ex.printStackTrace();
System.out.println("请输入整数!");
}
// 创建对象
Test test = new Test();
// 调用递归方法,计算n的阶层
int value = test.f(n);
// 输出结果
System.out.println(value);
}
/**
* 自定义递归方法,返回f(n) * f(n-1)
* @param n
* @return
*/
private int f(int n)
{
// 当n不等于1时
if(n != 1)
{
// 递归调用
return f(n) * f(n-1);
}
// 当n等于1时
else if(n == 1)
{
return 1;
}
// 其他情况返回0
return 0;
}
}
java里 阶层是怎样写的?
public class Qiuhe {
public Qiuhe() {
}
public static void main(String args[]){
int sum = 0;//用来存放1!+2!+3!+4!+.....+10!的值,初始值为零
for(int i = 0; i 10; i++ ){
sum += jiecheng(i + 1);//调用jiecheng()函数算出i+1的阶乘,加到sum当中
}
System.out.println("1!+2!+3!+4!+.....+10!的值为:" + sum);
}
public static int jiecheng(int n){//算阶乘的函数
if(n == 1 || n == 0){
return 1;
}
else return n * jiecheng(n - 1);
}
}
java 中如何实现打印
你好。 你所创建JFrame对象可以调用自己的实例方法实现打印。 JFrame jf=new JFrame(); Toolkit tl=jf.getToolkit() //返回此窗体的工具包 PrintJob p=tl.getPrintJob(Frame frame,String jobtitle,Properties props); //获取一个 PrintJob 对象,该对象是在工具包平台上初始化某个打印操作的结果。 参数: frame - 打印对话框的父容器。不能为 null。 jobtitle - PrintJob 的标题。null 标题等同于 ""。 props - 包含零个或更多属性的 Properties 对象。这些属性没有被标准化,并且在各个实现之间不一致。因此,要求作业和页面控制的 PrintJob 应该使用此方法带有 JobAttributes 和 PageAttributes 对象的版本。可以更新此对象来反映用户离开时的作业选择。可以为 null。 Graphics g=p.getGraphics() // 为组件创建一个图形上下文。如果组件当前是不可显示的,则此方法返回 null。 jf.paintAll(g); //打印该容器及内嵌组件; jf.paint(g); //只打印该容器; 这是个大概模型,如果你需要其他的作用,就要查JDK帮助文档; 所有的代码都是我查询JDK帮助文档所得,绝对正确,而且我以前用过。
在java中什么是打印?什么是打印功能?
如楼上所言,标准打印输出,system.out.println( );如果不加ln则不换行打印输出(默认带ln),当然更多时候是用键盘敲syso然后alt+/会直接打印输出system.out.println( );
阶层打印java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、阶层打印java的信息别忘了在本站进行查找喔。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。