按照题目要求编写的Java程序如下
注意 请使用你的真实姓名和班级替换Test类中
创建Student对象stu时用的"张三"和"20计算机应用01班"
import javautilScanner;
class Student{
private String name,classname;
private int starnum,scorenum;
private int[] scores;
public void setStarNum(int n){
thisstarnum=n;
}
public Student(String name,String classname,int scorenum){
thisname=name;
thisclassname=classname;
thisscorenum=scorenum;
}
public String getName(){
return thisname;
}
public void printStar(){
for(int i=0;i<starnum;i++){
for(int j=0;j<2i+1;j++){
Systemoutprint("");
}
Systemoutprintln();
}
}
public void setScore(){
Scanner sc=new Scanner(Systemin);
scores=new int[scorenum];
Systemoutprint("请输入各科成绩:");
for(int i=0;i<scorenum;i++){
scores[i]=scnextInt();
}
}
public void showInfo(){
Systemoutprint(name+"同学,你所在的班级是"+classname+",你各科考试成绩分别为:");
for(int i=0;i<scorenum;i++){
if(i==scorenum-1)
Systemoutprint(scores[i]);
else
Systemoutprint(scores[i]+",");
}
Systemoutprintln();
}
public float getAvg(){
float sum=0;
for(int i=0;i<scorenum;i++){
sum=sum+scores[i];
}
return sum/scorenum;
}
}
public class Test{
public static void main(String[] args){
Student stu=new Student("张三","20计算机应用01班",5);
stusetStarNum(4);
stuprintStar();
stusetScore();
stushowInfo();
if(stugetAvg()<60){
Systemoutprintln(stugetName()+"是不合格学生");
}else{
Systemoutprintln(stugetName()+"是个合格学生");
}
}
}
可以使用Java编写一个类来计算立方体的体积。下面是一个示例程序:
public class Cube {
double width;
double height;
double depth;
public Cube(double width, double height, double depth) {
thiswidth = width;
thisheight = height;
thisdepth = depth;
}
public double getVolume() {
return width height depth;
}
public static void main(String[] args) {
Cube cube = new Cube(20, 10, 5);
Systemoutprintln("Cube volume is: " + cubegetVolume());
}
}
程序实现了Cube类,类的构造器初始化宽度,高度和深度,并且类中有一个getVolume方法来计算立方体的体积。在main方法中,我们创建一个Cube对象,并调用getVolume方法来计算立方体的体积。
在运行这个程序后,你会得到一个输出:
Cube volume is: 10000
这个输出表示,这个立方体的体积是1000立方单位。
classVehicle{privateintwheels;privatefloatweight;protectedVehicle(intwheels,floatweight){this。wheels=wheels;this。weight=weight。是普通的除号,即10/2=5。
编写java程序的注意事项:
大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。
类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass。
方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写,例如myFirstJavaClass。
import javaxswingJOptionPane;
public class CalculateBodyMassIndex {
public static void main(String[] args) {
String tempString = JOptionPaneshowInputDialog(null, "Enter a weight in kg", "Input Dialog Demo", JOptionPaneQUESTION_MESSAGE);
// Enter a height in m
String s=(String)JOptionPaneshowInputDialog(null, "Enter a height in m", "Input Dialog Demo", JOptionPaneQUESTION_MESSAGE);
// Convert the input string into a double value
double weight = DoubleparseDouble(tempString);
//double height= DoubleparseDouble(tempString);中的变量tempString写错了,改成s
double height = DoubleparseDouble(s);
// Convert it to BMI
double BMI = (weight/(heightheight)) ;
// Display the result
JOptionPaneshowMessageDialog(null, "The BMI is " +BMI + " in kg/m2");
}}
以下是代码的完整实现,可以在控制台输出 "Hello world":
interface Inter { void show();
}class Outer { public static Inter method() { return new Inter() { public void show() {
Systemoutprintln("Hello world");
}
};
}
}class Inner { public static class InnerDemo { public static void main(String[] args) {
Outermethod()show();
}
}
}
这个程序中定义了一个接口 Inter 和一个外部类 Outer。Outer 类中有一个静态方法 method,该方法返回了一个实现了 Inter 接口的匿名内部类的实例,实现了接口中的 show() 方法。
在 InnerDemo 类的 main 方法中调用 Outermethod() 方法并且调用返回实例的 show() 方法,因此将会在控制台上打印出 "Hello world"。
bmp图像文件数据分为三个部分:
1、前14个字节为文件信息头,在这部分信息中包含了位图信息标志、该bmp图像的大小和图像实际数据的相对偏移量这三部分有用的信息。
位图标志一定为“0x4D42”,否则,该文件不是bmp图像。
在VC++中,这14个字节对应一个数据类型,类型名为“BITMAPFILEHEADER”,它的定义为:
typedef struct tagBITMAPFILEHEADER {
WORD bfType; //位图信息标志
DWORD bfSize; //图像的大小
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits; //图像实际数据的相对偏移量
} BITMAPFILEHEADER, FAR LPBITMAPFILEHEADER, PBITMAPFILEHEADER;
可以设一个该类型的变量:BITMAPFILEHEADER bmfh,将bmp图像文件的前14字节数据读入这个变量中,然后通过判断bmfhbfType == 0x4D42,确定是不是为bmp图像。
2、接下来40个字节为位图信息头,其中存储了该bmp图像的有关信息。这些信息包括:图像宽度(像素)、图像高度(像素)、图像长度(字节,仅仅是图像实际数据的长度,不包括各个信息头)、水平分辨率、垂直分辨率、每个像素的存储位数等信息。
其中,通过“每个像素的存储位数”这个信息可以知道图像的颜色:
如果“每个像素的存储位数”的值只有四种:为1,说明图像只有两种颜色(黑、白);为4,说明图像有16种颜色;为8,说明图像有256种颜色;为24,说明该图像为真彩色图像,颜色数为2^24。这四种取值对应四种bmp图像,也就是说,bmp图像只有这四种。
在这四种bmp图像种,前三种都需要在图像文件中包含调色板数据,分别存储三种图像的2、16、256种颜色。而最后一种bmp格式的图像不需要调色板,因为这种图像的“每个像素的存储位数”值为24,也就是说,存储一个像素值需要24位,正好可以存储一个像素的颜色(红、绿、蓝各8位)。
在VC++中,这40个字节的位图信息头也有一个数据类型,类型名为“BITMAPINFOHEADER”,它的定义为:
typedef struct tagBITMAPINFOHEADER{
DWORD biSize;
LONG biWidth; //图像宽度(像素)
LONG biHeight; //图像高度(像素)
WORD biPlanes;
WORD biBitCount; //每个像素的存储位数
DWORD biCompression;
DWORD biSizeImage; //图像长度(字节,仅仅是图像实际数据的长度,不包括各个信息头)
LONG biXPelsPerMeter; //水平分辨率
LONG biYPelsPerMeter; //垂直分辨率
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER, FAR LPBITMAPINFOHEADER, PBITMAPINFOHEADER;
3、接下来若干个字节为调色板,只有前三种bmp图像有,第四种真彩色bmp图像没有这部分数据。
调色板是一个数组,每个数组元素有四字节,只有三个字节有用,另外一个没有。有用的三个字节存储一种颜色(红绿蓝各占一字节),这四个字节在VC++中定义为:
typedef struct tagRGBQUAD {
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
} RGBQUAD;
定义一个这种类型的数组即为调色板。数组的长度可由BITMAPINFOHEADER中的biBitCount推算出来。
4、上述三部分信息之后,即是实际的像素数据。一个像素的存储位数为1、4、8或16,正如前面所述。
如果是1位,对应的bmp图像应该有一个长度为2的调色板。这一位的值只能是0或1,用来指明该像素的颜色在调色板中的地址。
如果是4位,对应的bmp图像应该有一个长度为16的调色板。这4位的值有16种,同样指示该像素的颜色在调色板中的地址。
如果是8位,对应的bmp图像应该有一个长度为256的调色板。这8位的值有256种,同样指示该像素的颜色在调色板中的地址。
如果是24位,对应的bmp图像没有调色板,该像素的颜色由这24位数据直接表示。
bmp图像的数据就这几个部分。
任何一个bmp图像的像素都是由红绿蓝三种颜色组成(带调色板也好,不带调色板也好)。如果一个像素的红绿蓝三种色的值相等,那么该像素就是灰色的。灰度图是这样一种有严格规定的bmp图像:它是上述四种bmp图像的第三种,并且它的调色板的每个数组元素的红绿蓝三值都相同,所以灰度图的灰度种数是256。
若要保存图像,需要按顺序保存文件信息头、位图信息头、调色板(如果有)和图像的实际数据。程序可以这样写:
bool Write(CString FileName)
{
CFile file;
BITMAPFILEHEADER bmfh;
if(! (bmi && pBits))
{
AfxMessageBox("Data is not valid!");
return FALSE;
}
//创建文件
if(!fileOpen(FileName,CFile::modeCreate | CFile::modeWrite))
{
AfxMessageBox("File creating fails!");
return FALSE;
}
//填写文件信息头
bmfhbfType = 0x4d42;
bmfhbfReserved1 = bmfhbfReserved2 = 0;
int nInfoSize = sizeof(BITMAPINFOHEADER) + GetPaletteSize() sizeof(RGBQUAD);
bmfhbfOffBits = sizeof(bmfh) + nInfoSize;
bmfhbfSize = bmfhbfOffBits + bmi->bmiHeaderbiSizeImage;
//写文件
fileWrite( (LPVOID)&bmfh, sizeof(bmfh));
fileWrite( (LPVOID)bmi, nInfoSize);
fileWrite( (LPVOID)pBits, bmi->bmiHeaderbiSizeImage);
return TRUE;
}
为了实现一个Java应用程序,用于计算20000000~300000000之间所有的素数,可以按照以下步骤来实现:
定义一个Java类,用于表示计算素数的应用程序。例如,可以定义一个PrimeNumberCalculator类,它包括一个静态的calculate方法,用来计算并打印出20000000~300000000之间所有的素数。
在calculate方法中,使用for循环来遍历20000000~300000000之间的所有整数,并使用素数判定的算法来判断每个整数是否为素数。例如,可以使用埃氏筛法来判定素数。
在判定素数的过程中,可以使用Java的并发编程功能来提升计算性能。例如,可以使用Executor框架来创建多个线程,每个线程负责计算一部分整数是否为素数,最终在主线程中汇总结果并打印出来。
在计算完成后,可以在主函数中调用PrimeNumberCalculator类的calculate方法,来启动应用程序。
以上就是关于根据以下任务要求,编写Java应用程序全部的内容,包括:根据以下任务要求,编写Java应用程序、Java编写程序实现立方体的体积(w=20,h=10,d=5)、1. 编写一个Java应用程序,设计一个汽车类Vehicle,包含的成员属性有:车轮个数wheels和车重weight。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)