首页 > 后端开发 > 正文

用java编写一个程序,计算平均分,输出不及格的学生的学号、课程和成绩。 java截屏有哪几种方法

2024-05-06 15:10:47 | 我爱编程网

今天我爱编程网小编整理了用java编写一个程序,计算平均分,输出不及格的学生的学号、课程和成绩。 java截屏有哪几种方法相关内容,希望能帮助到大家,一起来看下吧。

本文目录一览:

用java编写一个程序,计算平均分,输出不及格的学生的学号、课程和成绩。 java截屏有哪几种方法

用java编写一个程序,计算平均分,输出不及格的学生的学号、课程和成绩。

程序运行截图:

学生类

/**

* 学生类

*

* @author wangliang

*

*/

public class Student {

int ID;// 学生学号

String name;// 学生姓名

double mathematics;// 数学分数

double chinese;// 语文分数

double english;// 英语分数

}

2.测试类:

public class Test {

public static final void main(String[] arg) {

List listStudents = new ArrayList();

//

List listName = new ArrayList();

listName.add("小明");

listName.add("小刚");

listName.add("小花");

listName.add("小红");

listName.add("小峰");

List listMathematics = new ArrayList();

listMathematics.add(56.0);

listMathematics.add(89.0);

listMathematics.add(59.0);

listMathematics.add(70.0);

listMathematics.add(60.0);

for (int i= 0; i < 5; i++) {

Student student = new Student();

student.ID = i;

student.name = listName.get(i);

student.mathematics = listMathematics.get(i);

listStudents.add(student);

}

//求平均分

//数学总分

double tatol = 0;

for(Student student:listStudents) {

tatol += student.mathematics;

//

if (student.mathematics < 60) {

System.out.println("不及格学生姓名:" + student.name + " 学号:" + student.ID +  "不及格课程 数学 ( "+student.mathematics  +" )");

}

}

//输出平均分

double average;

System.out.println("数学平均分:" + (average = tatol / 5));

}

}

用java编写一个程序,计算平均分,输出不及格的学生的学号、课程和成绩。 java截屏有哪几种方法

java截屏有哪几种方法

前台方式

1. 利用html2canvas实现前台截屏

html2canvas项目的gitHub地址我爱编程网

html2canvas示例

html2canvas可以将HTML代码块进行截取,并生成快照形式的canvas,然后可以利用html5的下载功能提供图片的下载接口,供用户下载。

优点:前台技术,实现比较容易。

缺点:此项目使用了html5的技术,因此在对IE的兼容上,只可以在IE9+的版本上使用。

使用时,需要引用jQuery.js和html2canvas.js。(html2canvas.js可以在github上下载)

具体JavaScript代码如下:

var canvas = function () {

html2canvas($("#chart"), {

onrendered: function (canvas) {

$("#class11").html(canvas);//将id为“class11”部分的代码转换为canvas

var type = 'png';//图片类型为png

var imgData = canvas.toDataURL('png');//将图片转换为png类型的流

var _fixType = function (type) {

type = type.toLowerCase().replace(/jpg/i, 'jpeg'); var r = type.match(/png|jpeg|bmp|gif/)[0]; return 'image/' + r;

}; var saveFile = function (data, filename) {

var save_link = document.createElementNS('

', 'a');

save_link.href = data;

save_link.download = filename; var event = document.createEvent('MouseEvents');

event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

save_link.dispatchEvent(event);

}; //下载时的文件名

var filename = 'baidufe_' + (new Date()).getTime() + '.' + type; // 下载文件

saveFile(imgData, filename);

}

});

后台方式(java)

1. 利用html2image实现

html2image的地址(google)

html2image是可以识别html标签并将html转换成图片的java项目。

优点:后台转换,故对浏览器的版本基本没有要求。

缺点:对样式的识别不是很好,转换出来的图片比较简单,基本没有可以兼容的样式。

使用方式:maven中引用如下依赖:

com.github.xuwei-k

html2image

0.1.012345

2. 利用DJNativeSwing项目实现

纯java代码实现。使用DJNativeSwing这个项目,构建一个swing浏览器,打开网址,之后截取图片。(需要eclipse的swt库支持)

优点:纯java实现。

缺点:需要多线程的支持,只在控制台方式实现过(由于本人对于多线程的掌握较弱,目前没有在spring项目中实现这个方法,求大神指导~~)

3. 利用phantomJs实现

phantomJs的GitHub地址

phantomJs官网

phantom利用的是webKit内核,全面支持web而不需浏览器支持,快速,原生支持各种Web标准。

优点:速度快,使用简单。

缺点:需要在项目的服务器端引用exe文件进行截图,并发性能有待考证。

用java编写一个程序,计算平均分,输出不及格的学生的学号、课程和成绩。 java截屏有哪几种方法

三道java编程题。求全部代码和执行截图。

public class JavaPractise {

public static void main(String[] args) {

JavaPractise o = new JavaPractise();

String str = "1342973451345";

String subStr = o.getMaxLengthAddPart(str);

System.out.println(subStr);

String binaryFlow = "000011110000011111";

String sameSubStr = o.getMaxSameSubStr(binaryFlow);

System.out.println(sameSubStr);

String letterFlow = "aaBBBcCCCCddddddEEEE";

String sameLettersSubStr = o.getMaxSameLettersSubStr(letterFlow);

System.out.println(sameLettersSubStr);

}

/**

* 校验字符串是否符合数字规范

* */

private boolean isNum(String str){

boolean result = true;

if(str.length() < 1)

return false;

for(int i = 0 ; i < str.length(); i ++){

if(str.charAt(i) < '0' ||  str.charAt(i) > '9')

return false;

}

return result;

}

private boolean isBinaryFlow(String binaryFlow){

boolean result = true;

if(binaryFlow.length() < 1)

return false;

for(int i = 0 ; i < binaryFlow.length(); i ++){

if(binaryFlow.charAt(i) !=  '0' &&  binaryFlow.charAt(i) != '1')

return false;

}

return result;

}

private boolean isLetterFlow(String letterFlow){

boolean result = true;

if(letterFlow.length() < 1)

return false;

for(int i = 0 ; i < letterFlow.length(); i ++){

char cur = letterFlow.charAt(i);

if(!( ('z'>= cur && cur >= 'a') || ('Z' >= cur && cur > 'A') ) )

return false;

}

return result;

}

/**

* 获取最长增长数字的子串

* */

private String getMaxLengthAddPart(String str){

str = str.trim();

if(!isNum(str))

return "";

String temp = ""+str.charAt(0);

String maxSubStr = temp;

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

char curChar = str.charAt(i);

char lastChar = str.charAt(i-1);

if( curChar > lastChar){

temp += curChar;

if(i != (str.length()-1))

continue;//如果当前节点为最后一个节点,那么强制进入下面环节,进行

}

maxSubStr = maxSubStr.length()> temp.length() ? maxSubStr : temp;

temp = ""+curChar; //清空原数据,并从当前节点记录

}

return maxSubStr;

}

/**

* 二进制流最长字符串判定

* */

private String getMaxSameSubStr(String str){

str = str.trim();

if(!isBinaryFlow(str))

return "";

String temp = ""+str.charAt(0);

String maxSubStr = temp;

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

char curChar = str.charAt(i);

char lastChar = str.charAt(i-1);

if( curChar == lastChar){

temp += curChar;

if(i != (str.length()-1))

continue;//如果当前节点为最后一个节点,那么强制进入下面环节,进行

}

maxSubStr = maxSubStr.length()> temp.length() ? maxSubStr : temp;

temp = ""+curChar; //清空原数据,并从当前节点记录

}

return maxSubStr;

}

/**

* 字符串的最长相同部分截取

* */

private String getMaxSameLettersSubStr(String str){

str = str.trim();

if(!isLetterFlow(str))

return "";

String temp = ""+str.charAt(0);

String maxSubStr = temp;

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

char curChar = str.charAt(i);

char lastChar = str.charAt(i-1);

if( curChar == lastChar){

temp += curChar;

if(i != (str.length()-1))

continue;//如果当前节点为最后一个节点,那么强制进入下面环节,进行

}

maxSubStr = maxSubStr.length()> temp.length() ? maxSubStr : temp;

temp = ""+curChar; //清空原数据,并从当前节点记录

}

return maxSubStr;

}

}

运行结果如下:

以上就是用java编写一个程序,计算平均分,输出不及格的学生的学号、课程和成绩。 java截屏有哪几种方法全部内容,更多相关信息,敬请关注我爱编程网。

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“用java编写一个程序,计算平均分,输出不及格的学生的学号、课程和成绩。 java截屏有哪几种方法”相关推荐