包含Java打印多人信息代码的词条

java题 从键盘输入10个学生的信息(姓名,学号,电话) 然后打印出来

package com.sh.lw;

目前创新互联建站已为超过千家的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器托管、企业网站设计、抚顺网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class InputMessage {

/**

* 主函数

* @param args

*/

public static void main(String[] args) {

InputMessage im = new InputMessage();

Scanner sc = new Scanner(System.in);

int j=1;

String[] s = new String[12];

System.out.print("请输入第1个学生的信息(姓名、学号、电话):");

while(sc.hasNext())

{

j++;

String s1 = sc.nextLine();

boolean b = im.isLegal(s1);

String[] sarr = im.converString2Arr(s1);

boolean b1 = im.isPhoneNumber(sarr[2]);

if(!b||!b1)

{

j--;

System.out.println("\n输入不合法\n");

System.out.println("请重新输入第"+j+"个学生的信息(姓名、学号、电话):");

continue;

}

s[j]= s1;

if(j==11)

break;

System.out.print("请输入第"+j+"个学生的信息(姓名、学号、电话):");

}

System.out.println("\n\n输入的学生的信息如下:\n");

System.out.print("\t姓名\t学号\t电话\n");

for(int i=2; is.length;i++)

{

String[] arr = im.converString2Arr(s[i]);

System.out.print("第"+(i-1)+"个:\t");

im.printResult(arr);

System.out.println();

}

}

/**

* 输出结果

*/

public void printResult(String[] s)

{

for(int i=0; is.length; i++)

{

System.out.print(s[i]+"\t");

}

}

/**

* 判断输入的信息是否合法

* @param s

* @return

*/

public boolean isLegal(String s)

{

try {

int i = countSpace(s);

if(i1||i5)

return true;

} catch (Exception e) {

// TODO Auto-generated catch block

System.out.println(e.getMessage());

return false;

}

return false;

}

/**

* 计算输入的字符串空格的数量

*/

public int countSpace(String s) throws Exception

{

int count=0;

Matcher m = Pattern.compile("\\s+").matcher(s);

while(m.find())

count++;

if(count4)

throw new Exception("输入不能多于三列!");

else if(count2)

throw new Exception("输入不能少于三列!");

return count;

}

/**

* 把字符串对象转化为字符数组

*/

public String[] converString2Arr(String s)

{

String [] arr = new String[3];

Matcher m = Pattern.compile("\\S+").matcher(s);

int i=0;

while(m.find())

{

String ss = m.group();

arr[i] = ss;

i++;

}

return arr;

}

/**

* 手机号必须为数字,且不能小于6位大于11位

*/

public boolean isPhoneNumber(String pn)

{

if(pn.trim().length()3||pn.trim().length()11)

{

try {

throw new Exception("输入的电话号码不能小于3位或大于11位");

} catch (Exception e) {

// TODO Auto-generated catch block

System.out.println(e.getMessage());

}

}

Matcher m = Pattern.compile("\\d+").matcher(pn);

boolean b = m.matches();

if(b)

return true;

else if(!b)

try {

throw new Exception("电话号码不能包含非数字字符");

} catch (Exception e) {

// TODO Auto-generated catch block

System.out.println(e.getMessage());

}

return false;

}

}

java代码的打印信息控件怎么做?或者有现成的代码也行。

一: 首先理清业务逻辑

两个窗口, 第一个主窗口, 是用于填写信息的, 点击按钮后,跳转到第二个窗口,.

第二个对话框窗口 ,用于显示需要打印的信息, 以及打印到文档

二: 确定需要的技术, java图像界面主要使用awt和swing

swing里面的控件比较丰富, 且功能强大 .

三: 效果图片

四: 完整的参考代码

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

//定义一个主窗口类

public class MainFrame extends JFrame {

public static final String FILE_PATH = "c:\\print.txt";//常量,用于指定信息的保存路径

//定义主要的组件

private final JTextField jtf1,jtf2,jtf3;

private final JCheckBox jcb1,jcb2,jcb3;

private final JRadioButton jrb1,jrb2;

public MainFrame() {

setTitle("信息提交窗口");//设置窗口标题

setSize(350, 320);//设置窗口大小

setLocationRelativeTo(null);//让窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);//当主窗口关闭的时候退出jvm虚拟机

JPanel jp = new JPanel(new GridLayout(5, 1, 2, 1));//定义主显示面板,布局为表格布局5行1列,水平间距2,垂直间距1

JPanel jp1 = new JPanel();//第一行的组件面板

JLabel jl1 = new JLabel("姓名");

jtf1 = new JTextField(10);

jp1.add(jl1);

jp1.add(jtf1);

JPanel jp2 = new JPanel();//第二行的组件面板

JLabel jl2 = new JLabel("学号");

jtf2 = new JTextField(10);

jp2.add(jl2);

jp2.add(jtf2);

JPanel jp3 = new JPanel();//第三行的组件面板

JLabel jl3 = new JLabel("性别");

jrb1 = new JRadioButton("男");

jrb2 = new JRadioButton("女");

jrb1.setSelected(true);

ButtonGroup bgs = new ButtonGroup();

bgs.add(jrb1);

bgs.add(jrb2);

jp3.add(jl3);

jp3.add(jrb1);

jp3.add(jrb2);

JPanel jp4 = new JPanel();//第四行的组件面板

JLabel jl4 = new JLabel("选择爱好");

jcb1 = new JCheckBox("游泳");

jcb2 = new JCheckBox("篮球");

jcb3 = new JCheckBox("跑步");

jp4.add(jl4);

jp4.add(jcb1);

jp4.add(jcb2);

jp4.add(jcb3);

JPanel jp5 = new JPanel();//第五行的组件面板

JLabel jl5 = new JLabel("自我介绍");

jtf3 = new JTextField(22);

jp5.add(jl5);

jp5.add(jtf3);

//添加到主显示面板

jp.add(jp1);

jp.add(jp2);

jp.add(jp3);

jp.add(jp4);

jp.add(jp5);

jp.setBorder(BorderFactory.createTitledBorder("填写资料"));//设置主显示面板的边框

JButton jb = new JButton("跳转到打印页");

jb.addActionListener(new ActionListener() {//按钮事件

public void actionPerformed(ActionEvent e) {//获取组件的信息

StringBuilder sb = new StringBuilder();//用于连接信息

String name = jtf1.getText();

sb.append("姓名:" + name + "\r\n");

String num = jtf2.getText();

sb.append("学号:" + num + "\r\n");

String sex;

if (jrb1.isSelected()) {

sex = "男";

} else {

sex = "女";

}

sb.append("性别:" + sex + "\r\n");

String aihao = "";

if (jcb1.isSelected()) {

aihao += jcb1.getText();

}

if (jcb2.isSelected()) {

aihao += " " + jcb2.getText();

}

if (jcb3.isSelected()) {

aihao += " " + jcb3.getText();

}

sb.append("爱好:" + aihao + "\r\n");

String jieshao = jtf3.getText();

sb.append("自我介绍:" + jieshao + "\r\n");

new PrintDailog(sb.toString(), FILE_PATH).setVisible(true);//打开打印页面,并设置为可见

}

});

getContentPane().add(new JLabel("信息填写",JLabel.CENTER),BorderLayout.NORTH);

getContentPane().add(jp);

getContentPane().add(jb, BorderLayout.SOUTH);

}

public static void main(String[] args) {

new MainFrame().setVisible(true);

}

}

//定义一个对话框窗口类

class PrintDailog extends JDialog {

String info;//用于接受信息

String filePath;//文档的路径

private final JLabel jl2;

public PrintDailog(String info, final String filePath) {

this.info = info;

this.filePath = filePath;

setModal(true);//模态为真,如果不关闭这个对话框,那么无法点击其他窗口

setTitle("信息打印页");//设置打印窗口的标题

setSize(300, 320);//设置打印窗口的大小

setLocationRelativeTo(null);//设置打印窗口居中

setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//当点击关闭按钮时,该窗口销毁

JLabel jl1 = new JLabel("信息打印显示", JLabel.CENTER);

JTextArea jta = new JTextArea(info);

jta.setEditable(false);//不可编辑

jta.setLineWrap(true);//自动换行

JScrollPane jsp = new JScrollPane(jta);

jsp.setBorder(BorderFactory.createTitledBorder("信息"));

JButton jb1 = new JButton("打印");

JPanel jp = new JPanel(new GridLayout(2, 1));

JPanel jp1 = new JPanel();

jp1.add(jb1);

JPanel jp2 = new JPanel();

jl2 = new JLabel();

jp2.add(jl2);

jp.add(jp1);

jp.add(jp2);

add(jl1, BorderLayout.NORTH);

add(jsp);

add(jp, BorderLayout.SOUTH);

jb1.addActionListener(new ActionListener() {//点击打印的按钮的事件

public void actionPerformed(ActionEvent e) {

saveToFile();//信息打印到了文档

jl2.setText("信息已经打印到" + filePath);//显示出来

jl2.setForeground(Color.RED);//为了醒目设置颜色为红色

}

});

}

private void saveToFile() {//该方法用于保存信息到文档

try {

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath), "UTF-8"));

bw.write(info);

bw.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

五: 拓展

java 制作图像界面比较简单,  只需要熟练的掌握三大布局(流布局 表格布局 边界布局)和常用组件  , 就能制作出比较复杂的界面 .  所以理清业务逻辑,  才是重点

JAVA通讯录 求一个JAVA编写的通讯录,基本的就可以。

具体方法如下:

1、定义封装一条记录的实体类

2、根据实际系统容量,定义一个数组

3、完成系统中显示全部记录的逻辑

4、完成系统中添加一条记录的逻辑

5、完成系统中删除一条记录的逻辑

6、完成系统中修改一条记录的逻辑

7、全部代码:

import java.util.Scanner;

class Contact {

String cellPhone;

String name;

}

public class Main {

private static void menu () {

System.out.println("************** 菜单 ******"

+ "************");

System.out.println(" 1.显示全部通讯录");

System.out.println(" 2.增加一条记录");

System.out.println(" 3.删除一条记录");

System.out.println(" 4.修改一条记录");

System.out.println(" 0.退出");

}

public static void main(String[] args) {

Scanner scn = new Scanner(System.in);

Contact[] contacts = new Contact[200];

int size = 0;

String cmd = "";

do {

menu();

System.out.print("请输入你得选择:(0-4)");

cmd = scn.nextLine();

if (cmd.equals("1")) {

if (size == 0)

System.out.println("系统当前无记录!");

else

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

System.out.println(contacts[i].name + ":"

+ contacts[i].cellPhone);

}

} else if (cmd.equals("2")) {

System.out.print("请输入手机号:");

String cellphone = scn.nextLine();

System.out.print("请输入姓名:");

String name = scn.nextLine();

Contact contact = new Contact();

contact.cellPhone = cellphone;

contact.name = name;

if (size contacts.length) {

contacts[size++] = contact;

System.out.println("添加成功!");

} else {

System.out.println("你最多只能添加" +

contacts.length + "条记录");

}

} else if (cmd.equals("3")) {

System.out.print("请输入要删除的手机号:");

String cellphone = scn.nextLine();

int index = -1;

for (int i = 0; i size i contacts.length;

i++) {

if (contacts[i].cellPhone.equals(cellphone)) {

index = i;

break;

}

}

if (index == -1) {

System.out.println("该记录不存在!");

} else {

for (int i = index; i size; i++) {

contacts[index] = contacts[index + 1];

}

contacts[size - 1] = null;

size--;

System.out.println("删除成功!");

}

} else if (cmd.equals("4")) {

System.out.print("请输入要修改的手机号:");

String cellphone = scn.nextLine();

int index = -1;

for (int i = 0; i size i contacts.length;

i++) {

if (contacts[i].cellPhone.equals(cellphone)) {

index = i;

break;

}

}

if (index == -1) {

System.out.println("该记录不存在!");

} else {

System.out.print("请输入姓名:");

String name = scn.nextLine();

contacts[index].name = name;

}

}

} while (!cmd.equals("0"));

System.out.println("退出成功!");

scn.close();

System.exit(0);

}

}

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 自己运行一下 from:

采纳哦


标题名称:包含Java打印多人信息代码的词条
链接分享:http://hbruida.cn/article/hsgsgo.html