「java编写程序案例」Java程序设计案例

博主:adminadmin 2023-01-08 23:27:09 642

今天给各位分享java编写程序案例的知识,其中也会对Java程序设计案例进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java编写一个程序

通过Eclipse运行程序

启动Eclipse,在菜单中选择“文件 -- 新建 -- Java项目”,弹出对话框:

图1  新建项目

填入项目名称,点击“完成”,创建项目成功,可以看到在 E:\java\workspace 目录下多出了一个Demo文件夹。在菜单中选择“文件 -- 新建 -- 类”,弹出对话框:

图2  创建类

输入类名称,点击“完成”,成功创建一个HelloWorld类:

图3  新创建的类文件

将下面的代码输入到源文件,注意Java是大小写敏感的:public class HelloWorld {public static void main(String[] args){System.out.println("Hello World!");}}点击运行按钮 ,或者在菜单中选择“运行 -- 运行”,就可以看到下方控制台输出了“Hello World!”:

图4  控制台输出

恭喜你,你成功编写并运行了第一个Java程序。打开Demo文件夹下的bin目录,出现了一个 HelloWorld.class 文件,这就是编译生成的字节码。与C、C++不同,Java编译的结果不是可执行文件,而是字节码文件。字节码文件不能直接运行,必须由JVM翻译成机器码才能运行,这就是为什么运行Java程序必须安装JVM的原因。

通过命令行运行程序

当然,你也可以直接输入命令来编译和运行Java。打开CMD,cd 到源文件所在目录,通过 javac filename 命令完成编译,通过 java classname 命令来运行程序,如下所示:

图5  通过命令编译并运行Java程序

在Eclipse中运行程序,实际上也是执行这些命令,并将输出结果显示到控制台。有了Eclipse,编程更加方便。

HelloWorld程序分析

分析上述代码,从程序开始处介绍。public class HelloWorld定义了一个类,类是 “public” 公共类型的,类名为“HelloWorld”。另外,Java 中主类名应该和要保存的 Java 文件名相同,也就是说,这里定义的类名是“HelloWorld”,则文件应该保存为“HelloWorld.java”。public static void main(String[] args)Java 中的主运行方法,它和 C/C++中的main()作用是一样的,就是所有的程序都从“main()”中开始执行。要执行 Java 程序,必须有一个包括主运行方法的类。至于“public static void”的含义,读者可以尝试着去掉,看看编译器会提示什么错误。System.out.println("Hello world");“System.out.println()”是 Java.lang 包的一个方法,用来将字串“Hello world”输出到命令行窗口。

用Java编写一个程序,要求如下:

1.内部使用 C 的 longjmp 机制让出一个协程。 因此,如果一个 C 函数 foo 调用了一个 API 函数, 而这个 API 函数让出了(直接或间接调用了让出函数)。 由于 longjmp 会移除 C 栈的栈帧, Lua 就无法返回到 foo 里了。

2.为了回避这类问题, 碰到 API 调用中调用让出时,除了那些抛出错误的 API 外,还提供了三个函数: lua_yieldk, lua_callk,和 lua_pcallk 。 它们在让出发生时,可以从传入的 延续函数 (名为 k 的参数)继续运行。

3.我们需要预设一些术语来解释延续点。 对于从 Lua 中调用的 C 函数,我们称之为 原函数。 从这个原函数中调用的上面所述的三个 C API 函数我们称之为 被调函数。 被调函数可以使当前线程让出。 (让出发生在被调函数是 lua_yieldk, 或传入 lua_callk 或 lua_pcallk 的函数调用了让出时。)

4.假设正在运行的线程在执行被调函数时让出。 当再次延续这条线程,它希望继续被调函数的运行。 然而,被调函数不可能返回到原函数中。 这是因为之前的让出操作破坏了 C 栈的栈帧。 作为替代品,Lua 调用那个作为被调函数参数给出的 延续函数 。 正如其名,延续函数将延续原函数的任务。

5.注意这里那个额外的显式的对延续函数的调用:Lua 仅在需要时,这可能是由错误导致的也可能是发生了让出而需要继续运行,才会调用延续函数。 如果没有发生过任何让出,调用的函数正常返回, 那么 lua_pcallk (以及 lua_callk)也会正常返回。 (当然,这个例子中你也可以不在之后调用延续函数, 而是在原函数的调用后直接写上需要做的工作。)

6.Lua 会把延续函数看作原函数。 延续函数将接收到和原函数相同的 Lua 栈,其接收到的 lua 状态也和 被调函数若返回后应该有的状态一致。 (例如, lua_callk 调用之后, 栈中之前压入的函数和调用参数都被调用产生的返回值所替代。) 这时也有相同的上值。 等到它返回的时候,Lua 会将其看待成原函数的返回去操作。

7.我们需要预设一些术语来解释延续点。 对于从 Lua 中调用的 C 函数,我们称之为 原函数。 从这个原函数中调用的上面所述的三个 C API 函数我们称之为 被调函数。 被调函数可以使当前线程让出。 (让出发生在被调函数是 lua_yieldk, 或传入 lua_callk 或 lua_pcallk 的函数调用了让出时。)

8.假设正在运行的线程在执行被调函数时让出。 当再次延续这条线程,它希望继续被调函数的运行。 然而,被调函数不可能返回到原函数中。 这是因为之前的让出操作破坏了 C 栈的栈帧。 作为替代品,Lua 调用那个作为被调函数参数给出的 延续函数 。 正如其名,延续函数将延续原函数的任务。

希望能帮到你,谢谢!

用JAVA语言编写一个程序,要求如下:

import java.util.Random;

import java.util.Scanner;

public class T {

public static void main(String[] args) throws Exception {

Scanner in = new Scanner(System.in);

int difficulty;//难度

int mode;//运算类型

int answer;//答案

int amount;//挑战题目数量

int score = 0;//得分

System.out.println("请输入难度(1:一位数、2:两位数、3:三位数):");

difficulty = in.nextInt();

System.out.println("请输入运算类型(1:加、2:减、3:乘、4:除):");

mode = in.nextInt();

System.out.println("请输入想要挑战的题目数量:");

amount = in.nextInt();

Random random = new Random();

for (int i = 0; i amount; i++) {

if (difficulty == 1) {

if (mode == 1) {

int x = random.nextInt(10);

int y = random.nextInt(10);

System.out.println("第" + i + "题:");

System.out.print(x + " + " + y + " = ");

answer = in.nextInt();

if (answer == (x + y)) {

System.out.println("答对了\n");

score++;

} else {

System.out.println("答错了,答案是:" + (x + y) + "\n");

}

} else if (mode == 2) {

int x = random.nextInt(10);

int y = random.nextInt(10);

System.out.println("第" + i + "题:");

System.out.print(x + " - " + y + " = ");

answer = in.nextInt();

if (answer == (x - y)) {

System.out.println("答对了\n");

score++;

} else {

System.out.println("答错了,答案是:" + (x - y) + "\n");

}

} else if (mode == 3) {//乘法

} else if (mode == 4) {//除法 考虑小数的问题

} else {

throw new Exception("运算类型输入值不合法");

}

} else if (difficulty == 2) {

if (mode == 1) {

int x = random.nextInt(100);

int y = random.nextInt(100);

System.out.println("第" + i + "题:");

System.out.print(x + " + " + y + " = ");

answer = in.nextInt();

if (answer == (x + y)) {

System.out.println("答对了\n");

score++;

} else {

System.out.println("答错了,答案是:" + (x + y) + "\n");

}

} else if (mode == 2) {

} else if (mode == 3) {//乘法

} else if (mode == 4) {//除法 考虑小数的问题

} else {

throw new Exception("运算类型输入值不合法");

}

} else if (difficulty == 3) {

if (mode == 1) {

int x = random.nextInt(1000);

int y = random.nextInt(1000);

System.out.println("第" + i + "题:");

System.out.print(x + " + " + y + " = ");

answer = in.nextInt();

if (answer == (x + y)) {

System.out.println("答对了\n");

score++;

} else {

System.out.println("答错了,答案是:" + (x + y) + "\n");

}

} else if (mode == 2) {

} else if (mode == 3) {//乘法

} else if (mode == 4) {//除法 考虑小数的问题

} else {

throw new Exception("运算类型输入值不合法");

}

} else {

throw new Exception("难度输入值不合法");

}

}

System.out.println("挑战结束,您的分数为:" + score);

}

}

我就只举了加法的例子,其他运算的写法都是类似的,你照葫芦画瓢即可

运行结果:

编写一个java程序

public class Teacher extends Person {

String department;

String major;

public Teacher(String name,int age,String department,String major) {

super.name = name;

super.age = age;

this.department = department;

this.major = major;

}

public String getDepartment() {

return this.department;

}

public String getMajor() {

return this.major;

}

public void setDepartment(String s) {

this.department = s;

}

public void setMajor(String s) {

this.major = s;

}

public String toString() {

return "name : " + this.name + " age : " + this.name + " deparetment :"

+ this.department + " major : " + this.major;

}

}

class Person {

String name;

int age;

public Person() {

}

}

public class Ex5 {

public static void main(String[] agrs) {

Teacher zhangsan = new Teacher("zhangsan",20,"computer","software");

Teacher lisi = new Teacher("lisi",20,"computer","software");

//set lisi's age;

lisi.age = zhangsan.age * 5 / 6;

System.out.println(zhangsan.age - lisi.age);

System.out.println("zhangsan's info" + zhangsan.toString() +

"\nlisi's info" + lisi.toString());

}

}

**************output**********************

D:\vim_directoryjava Ex5

4

zhangsan's infoname : zhangsan age : zhangsan deparetment :computer major : software

lisi's infoname : lisi age : lisi deparetment :computer major : software

//测试成功

关于java编写程序案例和Java程序设计案例的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。