根据以下任务要求,编写Java应用程序

根据以下任务要求,编写Java应用程序,第1张

按照题目要求编写的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。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9591947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存