我正在学习JAVA编程。
我创建了一个程序来成功地在MS字中打印日期和时间,但现在我想在不同功能的MS Word文档中打印字符串。我只能从main打印出来。
以下是我的计划。
import java.util.*;
import java.io.*;
import org.apache.poi.xwpf.usermodel.*;
public class bill
{
public static void main(String[] args)throws Exception
{
//Blank Document
XWPFDocument document= new XWPFDocument();
//Write the Document in file system
FileOutputStream out = new FileOutputStream("createparagraph.docx");
//create Paragraph
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run=paragraph.createRun();
bill date1=new bill();
String day1=date1.date();
run.setText(day1)
document.write(out);
out.close();
}
public String date()
{
int day, month, year;
int second, minute, hour;
GregorianCalendar date = new GregorianCalendar();
day = date.get(Calendar.DAY_OF_MONTH);
month = date.get(Calendar.MONTH);
year = date.get(Calendar.YEAR);
second = date.get(Calendar.SECOND);
minute = date.get(Calendar.MINUTE);
hour = date.get(Calendar.HOUR);
String day1= String.valueOf(day);
String month1= String.valueOf(month);
String year1= String.valueOf(year);
String second1= String.valueOf(second);
String minute1= String.valueOf(minute);
String hour1= String.valueOf(hour);
run.setText(day1); //here is error *
return day1;
}
}
正如您在我的run.setText(day1);
函数中使用date()
时所看到的那样,出现语法错误:
无法找到符号变量运行。
我是新手,抱歉我使用了错误的英语或惯例 请帮我用不同的功能打印MS word中的数据。
如果你们发布了更正的节目,那么我将非常感激。
EDIT 我做了这个,但现在没有任何东西在ms字上打印
import java.util.*;
import java.io.*;
import org.apache.poi.xwpf.usermodel.*;
public class bill
{
public static void main(String[] args)throws Exception
{
//Blank Document
XWPFDocument document= new XWPFDocument();
//Write the Document in file system
FileOutputStream out = new FileOutputStream("createparagraph.docx");
bill date1=new bill();
String day1=date1.date();
document.write(out);
out.close();
}
public String date()
{
int day, month, year;
int second, minute, hour;
GregorianCalendar date = new GregorianCalendar();
day = date.get(Calendar.DAY_OF_MONTH);
month = date.get(Calendar.MONTH);
year = date.get(Calendar.YEAR);
second = date.get(Calendar.SECOND);
minute = date.get(Calendar.MINUTE);
hour = date.get(Calendar.HOUR);
String day1= String.valueOf(day);
String month1= String.valueOf(month);
String year1= String.valueOf(year);
String second1= String.valueOf(second);
String minute1= String.valueOf(minute);
String hour1= String.valueOf(hour);
XWPFDocument document= new XWPFDocument();
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run=paragraph.createRun();
run.setText(day1+"/"+month1+"/"+year1+" "+second+":"+minute1+":"+hour1);
return day1;
}
}
答案 0 :(得分:2)
在第一个示例中,您会收到语法错误,因为您的"运行"变量与您调用它的范围不同。方法中的变量只能用于或者被看到"通过同一组{}中的其他代码 例如,像这样的东西将不起作用:
public static void main(String[] args) {
int name = "Sally";
sayHi();
}
public void sayHi(){
System.out.println("Hi " + name);
}
sayHi方法无法知道名称是什么。你可以把它作为一个参数传递。
你的第二个例子不起作用,因为你得到约会后你没有做任何事情。您没有先将文档添加到文档中,而是立即编写文档。此外,您只返回当天,而不是整个日期。
我写了一个快速的小程序,应该按照你的要求做:
public class Bill {
public static void writeDate(XWPFDocument document) {
SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss");
String date = sdf.format(new Date());
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText(date);
}
public static void main(String[] args) throws Exception {
XWPFDocument document = new XWPFDocument();
writeDate(document);
FileOutputStream out = new FileOutputStream("createparagraph.docx");
document.write(out);
out.close();
}
}
一些事情。
我冒昧地使用了Date()对象,尽管你正在做的事情会起作用。
按照惯例,我们在Java中大写类名。 即。
public class bill {
应该是
public class Bill {
按照惯例,方法名称应简明扼要地描述其目的。你的date()方法名称并没有说明发生了什么。
让我知道这些是否有意义。