关于报表3djava的信息
本篇文章给大家谈谈报表3djava,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
3D彩票JAVA编程怎么写?
import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.Scanner; public class Lotto { public static final int NUMBER = 7; public static void main(String[] args) { ListInteger userNumbers = new ArrayListInteger(); Scanner scanner = new Scanner(System.in); int i = 1; while(i 8) { System.out.println("输入第" + i + "个数字: "); userNumbers.add(scanner.nextInt()); i ++; } System.out.println(prize(userNumbers.toArray(new Integer[NUMBER]))); } private static Integer[] generateLotto() { ListInteger lottoNumbers = new ArrayListInteger(); Random rand = new Random(); int lottoNumber, i = 0; while(i NUMBER) { lottoNumber = rand.nextInt(35) + 1; if(!lottoNumbers.contains(lottoNumber)) { lottoNumbers.add(lottoNumber); i ++; } } return bubbleSort(lottoNumbers.toArray(new Integer[NUMBER])); } private static Integer[] bubbleSort(Integer[] array) { for(int i = 0; i array.length; i ++) { for(int j = 0; j array.length - i - 1; j ++) { if(array[j] array[j + 1]) { int temp = array[j + 1]; array[j + 1] = array[j]; array[j] = temp; } } } return array; } public static String prize(Integer[] userNumbers) { int count = 0; Integer[] lottoNumbers = generateLotto(); for(Integer i : userNumbers) { for(Integer j : lottoNumbers) { if (i == j) { count ++; } } } return "猜对了 "+ count + " 个彩票号码"; }}
输入第1个数字:
5
输入第2个数字:
14
输入第3个数字:
19
输入第4个数字:
24
输入第5个数字:
33
输入第6个数字:
34
输入第7个数字:
27
猜对了 3 个彩票号码
java如何读取excel中报表(柱状图)的信息
public class Report {
/**作用:报表样式的枚举,该类的getvalue方法返回对应值。br
* Columns_2DVer:2D柱状垂直报表。br
* Columns_3DVer:3D柱状垂直报表。br
* Columns_2DHor:2D柱状水平报表。br
* Columns_3DHor:3D柱状水平报表。
* */
public enum ReportType{
Columns_2DVer("Z2DV"),
Columns_3DVer("Z3DV"),
Columns_2DHor("Z2DH"),
Columns_3DHor("Z3DH"),
LineReport_2D("Line2D"),
LineReport_3D("Line3D"),
PieReport_2D("Pie2D"),
PieReport_3D("Pie3D");
private ReportType(String a){
this.str=a;
}
private String str;
public String getvalue(){
return this.str;
}
}
/**作用:作为创建报表时的参数。br
* 成员1:报表的标题。br
* 成员2:报表的横坐标标题。br
* 成员3:报表的纵坐标标题。br
* 成员4:JSP页面的request对象。br
* 成员5:报表所保存的文件名。br
* 成员6:报表的长度。br
* 成员7:报表的宽度。br
* 成员8:报表的背景颜色,默认为白色。br
* 成员9:报表网格中竖线的颜色,默认为黑色。br
* 成员10:报表网格中横线的颜色,默认为黑色。br
* 成员11:报表横轴内容的数组。br
* 成员12:报表纵轴内容的list数组。br
* 成员13:提示信息。如果写入多个提示信息,报表就变成多柱状。br
* 成员14:报表的模式。详见reportType枚举类br
* 成员15:饼状图专用的数值数组。数组的和必须等于1.br
* 注意1:要在JSP页面引入该类型才能使用,横纵轴数组的长度必须一致。br
* 注意2:如果在提示信息数组中写入了多个提示信息,那么报表纵轴内容的
* list中就必须存放入和它数量一致的int数组。否则会出错。
* */
public class ReportClass{
public String ReportTitle;
public String xTitle;
public String yTitle;
public HttpServletRequest request;
public String filename;
public int width;
public int height;
public Color BackgroundColor=Color.WHITE;
public Color ylineColor=Color.BLACK;
public Color xlineColor=Color.BLACK;
public String[] xValues;
public ArrayListint[] yValue=new ArrayListint[]();
public String[] helpstr;
public String reportType;
public double[] PieValue;
}
/**作用:创建一个指定类型和数据的图表。br
* 参数1:ReportClass类型,各成员具体作用参见ReportClass说明br
* 返回值:String类型,在JSP页面可以直接out.println显示图形。br
* 注意1:ReportClass类型中,必须设置的成员主要有:br
* 1、ReportTitle 2、request 3、filename 4、width 5、height 6、reportTypebr
* 注意2:如果要生成饼状图,还需要设置:br
* 1、xValues 2、PieValue 这两个数组的长度必须一致br
* 注意3:如果要生成柱状图或折线图,还需要设置:br
* 1、xValues 2、yValue 3、helpstrbr
* yvalue数组总和必须等于1.即100%.br
* 如果要生成多柱状或折线图,则需要设置helpstr长度。br
* yvalue列表的长度必须和helpstr数组长度一致。br
* yvalue中的成员数组的长度必须和xvalue数组长度一致。
* */
public String CreateReport(ReportClass rc){
String s="sf";
String str="";
JFreeChart jc=null;
Font titlefont=new Font("宋体",Font.BOLD,20);
Font tickfont=new Font("宋体",0,15);
Font labelfont=new Font("宋体",Font.BOLD,15);
DefaultCategoryDataset ds=null;
DefaultPieDataset pds=null;
if (rc.ReportTitle!=null){
if (rc.reportType.indexOf("Pie")!=-1){//饼状图
pds=new DefaultPieDataset();
double[] ob=rc.PieValue;
for (int i=0;iob.length;i++){
pds.setValue(rc.xValues[i], ob[i]);
}
if (rc.ReportTitle!=null){
if (rc.reportType.equals("Pie2D")){
jc=ChartFactory.createPieChart(rc.ReportTitle,pds,true, true, false);
}
else if (rc.reportType.equals("Pie3D")){
jc=ChartFactory.createPieChart3D(rc.ReportTitle,pds,true, true, false);
}
jc.getTitle().setFont(titlefont);
jc.getLegend().setItemFont(labelfont);
jc.setBackgroundPaint(rc.BackgroundColor);//总背景色
jc.setBorderPaint(rc.BackgroundColor);
PiePlot plot=(PiePlot)jc.getPlot();
plot.setBackgroundPaint(rc.BackgroundColor);
plot.setLabelFont(new Font("宋体",0,15));
}
}
else { //柱状或折线图
ds=new DefaultCategoryDataset();
for (int i=0;irc.helpstr.length;i++){
int[] ob=rc.yValue.get(i);
for (int j=0;job.length;j++){
ds.addValue(ob[j], rc.helpstr[i], rc.xValues[j]);
}
}
if (rc.reportType.indexOf("Z2D")!=-1){
PlotOrientation po=null;
if (rc.reportType.indexOf("V")!=-1){
po=PlotOrientation.VERTICAL;
}
else if (rc.reportType.indexOf("H")!=-1){
po=PlotOrientation.HORIZONTAL;
}
jc=ChartFactory.createBarChart(rc.ReportTitle, rc.xTitle, rc.yTitle,
ds, po, true, true, false);
}
else if (rc.reportType.indexOf("Z3D")!=-1){
PlotOrientation po=null;
if (rc.reportType.indexOf("V")!=-1){
po=PlotOrientation.VERTICAL;
}
else if (rc.reportType.indexOf("H")!=-1){
po=PlotOrientation.HORIZONTAL;
}
jc=ChartFactory.createBarChart3D(rc.ReportTitle, rc.xTitle, rc.yTitle,
ds, po, true, true, false);
}
else if (rc.reportType.equals("Line2D")){
PlotOrientation po=PlotOrientation.VERTICAL;
jc=ChartFactory.createLineChart(rc.ReportTitle, rc.xTitle, rc.yTitle,
ds, po, true, true, false);
}
else if (rc.reportType.equals("Line3D")){
PlotOrientation po=PlotOrientation.VERTICAL;
jc=ChartFactory.createLineChart3D(rc.ReportTitle, rc.xTitle, rc.yTitle,
ds, po, true, true, false);
}
jc.getTitle().setFont(titlefont);
jc.getLegend().setItemFont(labelfont);
jc.setBackgroundPaint(rc.BackgroundColor);//总背景色
CategoryPlot cp=jc.getCategoryPlot();
cp.setBackgroundPaint(rc.BackgroundColor);//图形框架背景色
cp.setDomainGridlinePaint(rc.ylineColor);//图形背景网格中竖线的颜色
cp.setDomainGridlinesVisible(true);
cp.setRangeGridlinePaint(rc.xlineColor);//图形背景网格中横线的颜色
cp.getDomainAxis().setTickLabelFont(tickfont);
cp.getDomainAxis().setLabelFont(labelfont);
cp.getRangeAxis().setTickLabelFont(tickfont);
cp.getRangeAxis().setLabelFont(labelfont);
}
try {
File ff=new File(rc.request.getRealPath("/")+"file");
if (!ff.exists()){
ff.mkdir();
}
File file=new File(rc.request.getRealPath("/")+"file/"+rc.filename);
if (!file.exists()){
file.createNewFile();
}
ChartUtilities.saveChartAsJPEG(file, jc, rc.width, rc.height);
str="img src='"+file.getPath()+"'";
return str;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
else {
return null;
}
}
}
以前写的一个报表的集成,可以生成任何形式的报表,要引入JFreeChar.你可以慢慢研究下...
java 如何开发3d可视化
使用之前
在开始使用 ThingJS 之前,需要先了解JavaScript,我们假设您已经掌握JS。
创建项目
创建项目之前需登录ThingJS账号,如果您尚未登录账号或页面出现“登录已过期,请重新登录!”的提示,为保证项目的正确保存及运行,请您在账号登录之后再创建项目。您可通过以下三种方式创建项目:
选择菜单区域的“文件 - 新建项目”选项
点击工具栏“新建”图标,图标如右图所示:
请点击输入图片描述
请点击输入图片描述
使用快捷键“Ctrl+P”
编辑项目
在线开发为用户提供了相应的快捷代码和官方示例,如果你正在用 ThingJS在线开发页面,可以通过以下两种方式来编辑项目:
点击在线开发页面菜单区域的快捷代码选项中的子项,编辑区将自动插入相应代码
请点击输入图片描述
选择在线开发官方示例中的其中任意一个示例,点击相应示例,编辑区将显示相应代码
后续操作详见 在线开发 - 应用开发 - 在线开发网页链接
保存项目
可通过以下四种方式保存项目:
选择菜单区域的“文件 - 保存”选项
点击工具栏“保存”图标,图标如右图所示:
请点击输入图片描述
请点击输入图片描述
使用快捷键“Ctrl+S”
运行项目
在线开发环境提供了以下几种方式运行项目:
使用快捷方式“Ctrl+R/Enter”或点击工具栏中的“运行”图标,3d容器区域将运行编辑器相应的代码。图标如右图所示:
请点击输入图片描述
请点击输入图片描述
选择菜单区域的“工具 - 设置”选型,出现的设置面板,点击开启“自动保存执行”
请点击输入图片描述
java中web前端3d立体效果制作步骤
用报表插件,上图这个的话用jasperreport就能解决,用3dbarchart就能做出来
关于报表3djava和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。