当前位置:文档之家› Java实验 控制流语句

Java实验 控制流语句

Java实验 控制流语句
Java实验 控制流语句

实验二 Java流程控制语句

1.实验时间和地点

2.实验内容

2.1判断某年是否为闰年,具体年份通过键盘录入;

2.2判断某年某月有多少天,具体年份和月份通过键盘录入;

2.3将五个整数按照顺序排列,不允许用循环结构,数据由键盘录入;

2.4求100-1000范围内所有的非素数;

2.5 设计程序,验证break、continue和return的中断功能。

3.实验源程序

3.1源程序如下:

//runnianfou.java

//判断某年是否为闰年,具体年份通过键盘录入

import java.util.Scanner;

public class runnianfou {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入年份:");

long year=sc.nextLong();//接收用户输入

if ((year % 4 == 0) && (year % 100 != 0) || (year % 400) == 0){

System.out.println(year+"年是闰年");

}

else{

System.out.print(year+"年不是闰年");

}

}

}

3.2源程序如下:

//monthdays.java

//判断某年某月有多少天,具体年份和月份通过键盘录入

import java.util.Scanner;

public class monthdays {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入年份:");

long year=sc.nextLong();

System.out.println("请输入月份:");

int month=sc.nextInt();

int days=0;

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

days = 31;

break;

case 4:

case 6:

case 9:

case 11:

days = 30;

break;

case 2:

if ((year % 4 == 0) && (year % 100 != 0) || (year % 400) == 0)

days = 29;

else

days = 28;

break;

default:

System.out.println("年月有误,请检查");

}

System.out.println(year + "年" + month + "月共有" + days + "天");

}

}

3.3源程序如下:

//paixu.java

//将五个整数按照顺序排列,不允许用循环结构,数据由键盘录入

import java.util.Scanner;

import java.util.Arrays;

public class paixu {

public static void main(String[] args) {

int [] X = new int [5];

System.out.println("请输入5个整数:");

Scanner sc = new Scanner(System.in);

for(int i=0;i

X[i]=sc.nextInt();

int t=0;

if(X[0]>X[1])

{t=X[0];X[0]=X[1];X[1]=t;}

if(X[0]>X[2])

{t=X[0];X[0]=X[2];X[2]=t;}

if(X[0]>X[3])

{t=X[0];X[0]=X[3];X[3]=t;}

if(X[0]>X[4])

{t=X[0];X[0]=X[4];X[4]=t;}

if(X[1]>X[2])

{t=X[1];X[1]=X[2];X[2]=t;}

if(X[1]>X[3])

{t=X[1];X[1]=X[3];X[3]=t;}

if(X[1]>X[4])

{t=X[1];X[1]=X[4];X[4]=t;}

if(X[2]>X[3])

{t=X[2];X[2]=X[3];X[3]=t;}

if(X[2]>X[4])

{t=X[2];X[2]=X[4];X[4]=t;}

if(X[3]>X[4])

{t=X[3];X[3]=X[4];X[4]=t;}

System.out.println("排序后数组:" + Arrays.toString(X)); }

}

3.4源程序如下:

//feisushu.java

//求100-1000范围内所有的非素数

public class feisushu {

public static void main(String[] args) {

int num, i, j, k = 0;

System.out.println("100-1000间所有非素数");

for (i = 100; i <= 1000; i++) {

num = i;

for (j = 2; j <= num; j++)

if (num % j == 0)

break;

if (num != j) {

System.out.print(num + " ");

k++;

if (k % 20 == 0)

System.out.println();

}

}

}

}

3.5-1 源程序如下:

//breaktest1.java

//验证不带符号break的中断功能

//中断当前循环体的执行,即不再继续执行剩余的循环,而是开始执行该循环体后面的语句。对于多重循环,不带符号的break语句只能从其所在的那层循环中跳出,而不是跳出所有的循环

//计算100~150之间的素数

public class breaktest1 {

public static void main(String[] args){

int i,j;

for(i=100;i<=150;i++){

for(j=2;j<=i/2;j++){

if(i%j==0)

break;//如果i%j==0,跳出第二重循环,进入第一重循环

}

if(j>i/2){

System.out.println(i+"是素数");

}

}

}

}

3.5-2 源程序如下:

//breaktest2.java

//验证带符号break的中断功能

/*break 标号名;

其中,标号名是一个标识符,用来标示某一程序块。Java语言中,标号的定义只能出现在循环语句之前,在标号和循环语句之间不应插入任何其他语句。

标号:循环语句

带标号的break语句与标号搭配使用可以中断多重循环,使程序流程跳转到标号标示的循环体之外

*/

//计算100~150之间的素数

public class breaktest2 {

public static void main(String[] args){

int i,j;

for(i=100;i<=150;i++){

for(j=2;j<=i/2;j++){

if(i%j==0)

break;//不带标号,跳出本循环

}

outer:

if(j>i/2){

System.out.println(i+"是素数");

break outer;//跳转到标号outer处

//执行带标号的break语句后,虽然标号在循环语句前面,但不再执行循环语句,而是执行循环体后面的语句

}

}

}

}

3.5-3 源程序如下:

//continuetest1.java

//验证不带符号continue的中断功能

//中断本次循环,直接回到当前循环的起始处,开始下一轮循环

//输出1~100之间所有奇数的和

public class continuetest1 {

public static void main(String[] args) {

int sum=0;

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

if(i%2==0)

continue;//不带符号的continue语句

sum+=i;

}

System.out.println("1~100之间所有奇数的和为"+sum);

}

}

3.5-4 源程序如下:

//continuetest2.java

//验证带符号continue的中断功能

/*continue 标号名;

带标号的continue语句与标号搭配使用可以使程序流程跳转到标号标示处,直接开始该标号之后循环的下一轮*/

//计算100~150之间的所有素数

public class continuetest2 {

public static void main(String[] args) {

int i,j;

outer:

for(i=100;i<=150;i++){

for(j=2;j<=i/2;j++){

if(i%j==0)

continue outer;

}

if(j>i/2){

System.out.println(i+"是素数");

}

}

}

}

3.5-5 源程序如下:

//returntest.java

//验证return的中断功能

/*使程序流程从当前执行的方法返回。使用方式如下:

return 表达式;

该语句的作用是首先计算出表达式的值,并返回这个值,然后结束该方法的执行。

如果某个方法没有返回值,return语句就可有可无。如果没有return语句,该方法在被调用时,执行方法的最后一条语句后,就自动结束方法的执行。

如果有return语句,这时,return语句应表示为:

return;

一个方法中允许出现多个return语句,分别用于不同条件下的方法返回

*/

//输入两个数,判断较大数和较小数

import java.util.Scanner;

public class returntest {

static int max(int x,int y){

return x>y? x:y;

}

static int min(int x,int y){

int z;

if(x

z=x;

else

z=y;

return z;

}

public static void main(String args[]) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入两个整数:");

int x=sc.nextInt();

int y=sc.nextInt();

System.out.println("Max="+max(x,y));

System.out.println("Min="+min(x,y));

}

}

4.实验结果

图4.1-1 判断2008年是闰年

图4.1-2 判断2014年不是闰年

图4.2-1 判断2014年2月共有28天

图4.2-2 判断2008年2月共有29天

图4.2-3 判断2014年3月共有31天

图4.2-4 判断2014年4月共有30天

图4.3-1 将键盘输入的5个整数从小到大排序

图4.3-2 若键盘输入超过5个整数,则对前5个整数排序

图4.4 输出100-1000范围内所有的素数

图4.5-1 计算100-150范围内所有素数(验证不带符号break的中断功能)

图4.5-2 计算100-150范围内所有素数(验证带符号break的中断功能)

图4.5-3 计算1-100之间所有奇数的和(验证不带符号continue的中断功能)

图4.5-4 计算100-150范围内所有的素数(验证带符号continue的中断功能)

图4.5-5 判断输入的两个整数中较大数和较小数(验证return中断功能)

5.实验总结

1.本次实验任务1-4题均要求从键盘输入,这就用到了课堂上老师提到的扫描器类

Scanner,要使用它必须导入import java.util.Scanner;

例如:使用户从System.in中读取一个数:

Scanner sc=new Scanner(System.in);

Int i=sc.nextInt();

2.对于任务3中的排序,最初的想法是用上课时提到的自动排序Arrays.sort(x);然后利

用Arrays.toString(x);将其以字符串的形式输出,具体程序如下:

import java.util.Arrays;

import java.util.Scanner;

public class paixu {

public static void main(String[] args) {

int [] X = new int [5];

System.out.println("请输入5个整数:");

Scanner sc = new Scanner(System.in);

for(int i=0;i

X[i]=sc.nextInt();

Arrays.sort(X);

System.out.println("排序后数组:" + Arrays.toString(X));

}

}

然后觉得这样是不是太过于简单了,考虑到5个整数排序,数字也不多,于是就用if语句来实现了排序的功能。

3.看到任务4和5,首先想到的是我们熟知的计算出素数的算法,共3种,虽然大同小异,但效率却相差甚多。可是在修改成实现输出非素数功能时,并非我想象的那么简单,其过程中出现了许多错误,比如什么都没输出、该范围内每个数都输出、输出一部分非素数、输出有重复,真不敢相信会碰到几乎可能出现的所有错误。冷静下来后,再次翻看了上课的PPT 上的有关实例,并翻阅了图书馆借来的几本有关Java的书对应部分:中断的实现,然后重新分析算法的每一步实现,终于调试出了希望出现的结果。(具体可以对比任务4和任务5里面的源程序,观察出其异同)

4.下面总结一下break、continue、return中断功能的实现:

(1)不带符号break的中断功能

break;

中断当前循环体的执行,即不再继续执行剩余的循环,而是开始执行该循环体后面的语句。对于多重循环,不带符号的break语句只能从其所在的那层循环中跳出,而不是跳出所有的循环。

(2)带符号break的中断功能

break 标号名;

其中,标号名是一个标识符,用来标示某一程序块。Java语言中,标号的定义只能出现在循环语句之前,在标号和循环语句之间不应插入任何其他语句。

标号:循环语句

带标号的break语句与标号搭配使用可以中断多重循环,使程序流程跳转到标号标示的循环体之外。

(3)不带符号continue的中断功能

中断本次循环,直接回到当前循环的起始处,开始下一轮循环。

(4)带符号continue的中断功能

continue 标号名;

带标号的continue语句与标号搭配使用可以使程序流程跳转到标号标示处,直接开始该标号之后循环的下一轮。

(5)return的中断功能

使程序流程从当前执行的方法返回。使用方式如下:

return 表达式;

该语句的作用是首先计算出表达式的值,并返回这个值,然后结束该方法的执行。

如果某个方法没有返回值,return语句就可有可无。如果没有return语句,该方法在被调用时,执行方法的最后一条语句后,就自动结束方法的执行。

如果有return语句,这时,return语句应表示为:

return;

一个方法中允许出现多个return语句,分别用于不同条件下的方法返回。

5. break与continue语句的异同:

break语句可以在switch语句和循环语句中使用,而continue语句只能在循环中使用。在循环语句中,不带标号的break语句结束它所在循环中的整个循环,而不带标号的continue语句是结束本次循环,开始新的循环。

带标号的break语句跳转到标号后,不再执行标号后面的循环语句,而带标号的continue 语句跳转到标号后,继续执行标号后的循环语句。

java_循环语句

Java 的循环语句有for,while 和 do-while 。这些语句创造了我们通常所称的循环(loops)。你可能知道,一个循环重复执行同一套指令直到一个结束条件出现。你将看到,Java 有 Java 的循环语句有for,while 和 do-while 。这些语句创造了我们通常所称的循环(loops)。你可能知道,一个循环重复执行同一套指令直到一个结束条件出现。你将看到,Java 有适合任何编程所需要的循环结构。 5.2.1 while 语句 while 语句是Java 最基本的循环语句。当它的控制表达式是真时,while 语句重复执行一个语句或语句块。它的通用格式如下: while(condition) { // body of loop } 条件condition 可以是任何布尔表达式。只要条件表达式为真,循环体就被执行。当条件condition 为假时,程序控制就传递到循环后面紧跟的语句行。如果只有单个语句需要重复,大括号是不必要的。 下面的while 循环从10开始进行减计数,打印出10行“tick”。 // Demonstrate the while loop. class While { public static void main(String args[]) { int n = 10; while(n > 0) { System.out.println("tick " + n); n--; } } } 当你运行这个程序,它将“tick”10次: tick 10 tick 9 tick 8 tick 7 tick 6

tick 5 tick 4 tick 3 tick 2 tick 1 因为while 语句在循环一开始就计算条件表达式,若开始时条件为假,则循环体一次也不会执行。例如,下面的程序中,对println( ) 的调用从未被执行过: int a = 10, b = 20; while(a > b) System.out.println("This will not be displayed"); while 循环(或Java 的其他任何循环)的循环体可以为空。这是因为一个空语句(null statement) (仅由一个分号组成的语句)在Java 的语法上是合法的。例如,下面的程序: // The target of a loop can be empty. class NoBody { public static void main(String args[]) { int i, j; i = 100; j = 200; // find midpoint between i and j while(++i < --j) ; // no body in this loop System.out.println("Midpoint is " + i); } } 该程序找出变量i和变量j的中间点。它产生的输出如下: Midpoint is 150 该程序中的while 循环是这样执行的。值i自增,而值j自减,然后比较这两个值。如果新的值i仍比新的值j小,则进行循环。如果i等于或大于j,则循环停止。在退出循环前,i

JAVA洗衣机仿真程序实验报告及代码

一.实验题目:用java编写洗衣机仿真程序 二.实验目的: 1.熟悉并掌握洗衣机(全自动)的工作原理和运行过程. 2.学会软件工程设计中的一系列分析研究,对需求分析,可行性研究,软件 模型等有一定的了解,为以后的软件设计工作打下良好的基础。 3.通过的洗衣机仿真系统的编写与学习,加深了对Java这门语言的了解, 对其中的类的设计,类之间的关系,界面的设计(按钮及布局的设计)有了更深的了解与体会,为Java的学习做好准备工作。 三.实验要求: 了解全自动洗衣机的简单工作过程及实现。其中包括,洗衣的方式(标准或是柔和)、洗衣中的水位选择(高水位洗衣、低水位洗衣等)等方面需要在人们将衣服放入洗衣机洗衣服之后手动来选择;并且是必须选择的洗衣参数。当选择了一种洗衣参数后,按下启动按钮,洗衣机就会自动完成洗衣服的整个过程。在满足基本功能以外,还需要尽量考虑外观、造型、节水等方面的设计,符合人机界面的基本要求。 四.实验分析: 1.洗衣机需求分析: 标准清洗:浸泡/清洗/甩干 快速清洗:清洗/甩干 大件衣物(冬衣,牛仔类):浸泡(温水,延长浸泡/清洗(延长筒转时间)/甩干床单,窗帘类:浸泡(温水)/清洗 根据衣物的不同用按钮选择上述洗衣模式即可.其中甩干可选可不选. 尽量设计了一个节水功能,可以实现水回收.在无需甩干时水不流走,余下的水可做其他用途,实现节水. 2.主要的类实现 (1).继承类 (2).包括进水,排水,洗涤,漂洗,甩干等成员函数 (3).水位的选择通过参数传递决定进水函数 (4).其余通过调用筒的转动函数(run)并通过一定的参数控制实现

3.程序设计步骤 ≡≥选择水温 ≡≥放入衣物 ≡≥选择洗衣模式 ≡≥脱水 ≡≥排水 ≡≥烘干 ≡≥关闭 五.设计与实现过程: 1.洗衣机类的部分实现: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Washing extends JApplet{ private JFrame jf; private JButton jb1,jb2,jb3,jb4,jb5,jb6; public static void main(String[] args){ Washing flowTest=new Washing(); flowTest.setSize(270,160); flowTest.go(); //flowTest.show(true); } public void go(){ jf=new JFrame("洗衣机功能模拟器"); Container cp=jf.getContentPane(); cp.setLayout(null); jb1=new JButton("入水"); jb2=new JButton("加衣"); jb3=new JButton("脱水"); jb4=new JButton("排水"); jb5=new JButton("烘干"); jb6=new JButton("关闭"); // Container cp=jf.getContentPane(); // cp.setLayout(new BorderLayout()); jb1.setBounds(10, 10, 80, 80); cp.add(jb1); //指定组件追加到这个容器的末尾。这是一个方便的方法为addImpl。 //注意:如果一个组件已被添加到一个已显示的容器,验证必须在该容器调用,以显示新的组件。如果正在添加多个组件,你可以通过调用验证只有一次,已添加的所有组件后提高效率。 jb2.setBounds(110, 10, 80, 80); cp.add(jb2);

作业2-3:Java 语句控制

第3章控制语句 学习目标 ?能够使用if和if…else选择语句来选择各种动作 ?能够使用for循环结构来重复地执行程序中的语句 ?能够使用do…while循环和while循环语句重复地执行程序中的语句 ?能够使用break和continue程序控制语句 3.1 实验前检查 在学完《Java语言程序设计》的第3章后,请回答以下问题。这些问题旨在检验和巩固你对关键概念的理解。既可以在实验课程之前,也可以在实验课程期间完成。 3.1.1 选择题: 1.下列语句序列执行后,m 的值是( C )。 int a=10, b=3, m=5; if( a==b ) m+=a; else m=++a*m; A) 15 B) 50 C) 55 D) 5 2.下列语句序列执行后,k 的值是( B )。 int i=4,j=5,k=9,m=5; if(i>j||m0; i-=2 ) j*=i; A) 15 B) 1 C) 60 D) 0 6.以下for循环的执行次数是(B )。 for(int x=0;(x==0)&(x<4);x++); A)无限次B)一次C)执行4次D)执行3次 7.下列语句序列执行后,j 的值是( D )。 int j=2; for( int i=7; i>0; i-=2 ) j*=2;

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

Java实验报告及其源代码 Java基本程序设计

实验1 Java基本程序设计 一、实验目的 1.掌握设置Java 程序运行环境的方法; 2.了解Java 的数据类型; 3.掌握变量的声明方式; 4.理解运算符的优先级; 5.掌握Java 基本数据类型、运算符与表达式; 6.掌握Java基本输入输出方法。 二、实验环境 1.PC微机; 2.DOS操作系统或 Windows 操作系统; 3.Java sdk程序开发环境、eclipse集成环境。 三、实验内容 1.货币转换 在控制台下输入任意一个美元数值,将其转换成等价的人民币数值(假设100美元=636.99人民币)后在消息框中输出。 2.输出两个数的较大值 分别在两个对话框中输入两个任意的数值,显示其较大的数值。 四、实验步骤 1.新建Java项目,并创建package ; 2.创建两个java类文件,分别命名为 CurrencyConversion.java 和 valueCompare.java ; 3.在 CurrencyConversion.java 中写入代码: package FirstExperiment; import java.util.Scanner;

import javax.swing.JOptionPane; public class CurrencyConversion { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Please input the money(dollar): "); Scanner input = new Scanner(System.in); double moneyOfDollar = input.nextDouble(); double moneyOfRMB = moneyOfDollar * 6.3699 ; String output = "$" + moneyOfDollar + "=" + "¥" + moneyOfRMB ; JOptionPane.showMessageDialog(null, output); } } 4.在 valueCompare.java 中写入代码: package FirstExperiment; import javax.swing.JOptionPane; public class valueCompare { public static void main(String[] args) { String stringNumber1 = JOptionPane.showInputDialog("Please input the first number") ; double number1 = Double.parseDouble(stringNumber1) ; String stringNumber2 = JOptionPane.showInputDialog("Please input the second number") ; double number2 = Double.parseDouble(stringNumber2); if(number1 > number2) JOptionPane.showMessageDialog(null, number1 + " is bigger"); else

java循环结构while基础入门

1 while循环的基本格式 /* while循环的基本格式: while(判断条件语句) { 循环体语句; } 扩展格式: 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } 通过这个格式,我们就可以看到其实和for循环是差不多的。 for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; } */ class WhileDemo { public static void main(String[] args) { //输出10次"HelloWorld" //for语句版 for(int x=0; x<10; x++) {

System.out.println("HelloWorld"); } System.out.println("--------------"); //while语句版 int x=0; while(x<10) { System.out.println("HelloWorld"); x++; } } } 2 while循环的实现 /* 练习:用while循环实现 左边:求出1-100之和 右边:统计水仙花数有多少个 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } for(初始化语句;判断条件语句;控制条件语句) {

循环体语句; } */ class WhileDemo2 { public static void main(String[] args) { //求出1-100之和 //for语句版本 int sum = 0; for(int x=1; x<=100; x++) { sum+=x; } System.out.println("sum:"+sum); System.out.println("--------"); //while语句版本 int sum2 = 0; int y=1; while(y<=100) { sum2+=y; y++; } System.out.println("sum2:"+sum2); System.out.println("--------"); } }

实验一 Java基本数据类型与控制语句

实验一 Java基本数据类型与控制语句 【目的】 ①掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表; ②掌握使用if…else if多分支语句; ③使用if…else分支和while循环语句解决问题。 【内容】 1.猜数字游戏。 ?实验要求: 编写一个Java应用程序,实现下列功能: 1)程序随机分配给客户一个1—100之间的整数 2)用户在输入对话框中输入自己的猜测 3)程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”和“猜对 了”。 4)用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。 ?程序运行效果 ? ? ?程序模板: GuessNumber.java import javax.swing.JOptionPane; public class GuessNumber

{ public static void main (String args[ ]) { System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; String str=JOptionPane.showInputDialog("输入您的猜测:"); yourGuess=Integer.parseInt(str); while(【代码1】) //循环条件 { if(【代码2】) //条件代码 { str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } else if(【代码3】) //条件代码 { str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } } System.out.println("猜对了!"); } } 添加代码后的程序: import javax.swing.JOptionPane; public class GuessNumber { public static void main (String args[ ]) { System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; String str=JOptionPane.showInputDialog("输入您的猜测:"); yourGuess=Integer.parseInt(str); while(yourGuess<=100) //循环条件 { if(yourGuess> realNumber) //条件代码 { str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } else if(yourGuess< realNumber) //条件代码

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.doczj.com/doc/9818538090.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

java实验报告(全)

学生学号0120910680526 实验课成绩 武汉理工大学 学生实验报告书 实验课程名称软件工具与环境 开课学院计算机科学与技术学院 指导老师姓名付国江 学生姓名 学生专业班级软件工程0905 2011— 2012学年第1学期

实验课程名称: java语言程序设计 实验项目名称JDK安装与配置、简单的程序编写实验成绩 实验者专业班级软件0905 组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的: 熟悉JDK的安装、配置和使用,掌握Java Application程序的基本结构。 实验内容: (1)安装JDK,并练习设置JAVA_HOME、path和classpath环境变量; (2)编写一个打印出”HelloWorld”的Java Application程序,并编译运行; 二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或 者算法描述) (1)jdk的安装 (2)”HelloWorld”的编译运行 三、主要仪器设备及耗材 个人计算机,jdk 第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1)jdk的安装步骤: 1:双击jdk-6u10-windows-i586.exe安装文件 2:点击接受 3:点击下一步 4:选择JRE路径 5:点击下一步 6:完成 配置环境变量: 1:右键我的电脑,找到属性,高级中的环境变量 2:点击环境变量:3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 4:在变量值末尾打上分号分隔,加入JDK库路径。 点击确定,完成! 5:变量配置好后。 6:测试环境是否好 在控制台中 输入javac指令,能显示参数,说明成功。

Java流程控制语句

实验二 Java流程控制语句 一、实验时间和地点 时间:2010年10月18日 地点:电信北楼320判断某年是否为闰年 二、实验内容 1、判断某年月是否为闰年; 2、判断某年月有多少天; 3、有if~else结构对五个数排序; 4、求100~1000内的所有非素数。 三、实验步骤、源程序及实验结果 1、判断某年月是否为闰年 源程序: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class LeapYear { public static void main(String[] args) throws NumberFormatException, IOException { int year; InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(reader); System.out.println("请输入年份:"); year=Integer.parseInt(input.readLine()); if((year%4==0)&&(year%100==0)||(year%400==0)) System.out.println("是闰年!"); else System.out.println("不是闰年!"); } } 运行结果: 2、判断某年月有多少天 源程序: import java.io.BufferedReader; import java.io.IOException;

实验 2 Java基本数据类型与控制语句

实验 2 Java基本数据类型与控制语句 一、实验目的 1.了解Java 的数据类型 2.掌握各种变量的声明方式。 3.理解运算符的优先级。 4.掌握Java 基本数据类型、运算符与表达式。 5.理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 6.通过以上内容,掌握Java 语言的编程规则。 二、实验要求 1. 编写一个声明Java 不同数据类型变量的程序。 2. 编写一个使用运算符、表达式、变量的程序。 3. 编写一个使用Java 数组的的程序。 4. 编写表达式语句、复合语句的程序。 5. 编写使用不同选择结构的程序。 6. 编写使用不同循环结构结构的程序。 三、实验内容 (一)声明不同数据类型的变量 1.编写声明不同数据类型变量的程序文件KY2_1.java,源代码如下。 public class KY2_1 { public static void main(String args[]) { byte b=0x55; short s=0x55ff; int i=1000000; long l=0xffffL; char c='a'; float f=0.23F; double d=0.7E-3; boolean B=true; String S="这是字符串类数据类型"; System.out.println("字节型变量b = "+b); System.out.println("短整型变量s = "+s);

System.out.println(" 整型变量i = "+i); System.out.println("长整型变量l = "+l); System.out.println("字符型变量c = "+c); System.out.println("浮点型变量f = "+f); System.out.println("双精度变量d = "+d); System.out.println("布尔型变量B = "+B); System.out.println("字符串类对象S = "+S); } } 2.编译并运行该程序 (二)了解变量的使用范围 1.建立KY2_2.java 文件,通过本程序了解变量的使用范围,源代码如下。 public class KY2_2 { static int i=10; public static void main(String args[]) { { int k=10; System.out.println("i="+i); System.out.println("k="+k); } System.out.println("i="+i); System.out.println("k="+k); //编译时将出错,已出k 的使用范围 } } 2.编译KY2_2.java 此时会出现错误提示。因为变量k 在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。 3.修改上面的程序。 4.成功运行该程序。 思考:KY2_2.java 程序说明了什么问题? (三)使用关系运算符和逻辑运算符 1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。 class KY2_3 { public static void main(String args[]) { int a=25, b=20, e=3, f=0; boolean d=a

实验04 Java输入输出流报告

实验四 Java 输入输出流 1.实验目的 (1) 掌握输入输出流的总体结构; (2) 掌握流的概念; (3) 了解各种流(包括文件流、过滤流、对象的序列化、随机访问)的使用。2.实验内容 实验题1 编写一个Java Application程序,打印命令行输入的所有参数。 [基本要求] 编写完整程序。 运行结果: 代码如下: import java.util.Scanner; public class CommandOutPut { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Please input :"); Scanner in = new Scanner(System.in);

String str = in.nextLine(); System.out.println("The output results :"); System.out.println(str); in.close(); } } 实验题2 通过键盘输入路径,搜索指定路径下的全部内容。 运行结果: 代码如下: package https://www.doczj.com/doc/9818538090.html,.output; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class Output { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String fileName = "d:\\xxx.txt"; File file = new File(fileName); byte[] b=new byte[(int)file.length()]; FileInputStream out=new FileInputStream(file);

java控制结构

Java 基础及控制结构练习题 1.有一函数 ?????≤-<≤+<=x x x x x x y 301033035 23 写一程序,输入x,输出y 值。 import java.util.Scanner; public class JavaApplication4 { public static void main(String[] args) { int x, y = 0; Scanner sc = new Scanner(System.in); x = sc.nextInt(); if (x >= 30) { y = 3 * x - 10; } if (x >= 3 && x < 30) { y = 2 * x + 5; } if (x < 3) { y = x; } System.out.println("y=" + y); } }2.编程从键盘上输入任意两个整数给变量x 和y ,使用两种方法交换x 和y 的值(方法一:a=a+b; b=a-b;a=a-b; 方法二:a=a^b;b=b^a;a=a^b) import java.util.Scanner; public class JavaApplication4 { public static void main(String[] args) { int x = 0, y = 0; Scanner sc = new Scanner(System.in); x = sc.nextInt(); System.out.println("x=" + x); y = sc.nextInt(); System.out.println("y=" + y); System.out.println("x,y 交换后:"); f(x, y); } static void f(int x, int y) {

Java程序的结构流程控制结构

Java程序的结构流程控制结构 1、顺序结构 2、分支选择结构:if语句、if…..else语句、switch语句 3、循环语句:for语句、while语句、do…..while 语句 语法格式: If语句的一般格式: If(条件表达式) { 执行语句块1; } 2、if………else语句的一般格式: If(条件表达式) { 语句块; } Else {语句块2;} 3、switch语句的一般格式: switch(表达式) { Case值1:语句组1;break; Case 值2:语句组2;break;

…… Case 值N:语句组N; break; Default:语句组; } 注意:switch后面的括号内的变大时只能是整型(byte、short、char、int)或字符型表达式,不能是长整型或其他任何类型:在case之后的各常量表达式的值不能相同,否则会出错。 5.For语句 一般格式:for(初值表达式;条件表达式;循环过程表达式){ 循环语句块; } 其中:处置表达式是对循环变量赋初值:条件表达式是用来判断循环是否继续执行,即循环结束的条件;循环过程表达式是完成修改循环变量,改变循环条件。 6.while语句 一般格式:while(条件表达式) { 循环语句块; } While语句的执行次序是:先判断条件表达式的值,若为假则跳

过循环语句块,执行花括号后面的语句,若条件表达式的值为真,则执行循环语句块,然后再洗回去判断条件表达式的值。如此反复,直至条件变大时的值为假,跳出while循环体。 7.do-while语句 一般格式:do { 循环语句块: }while(条件表达式); 执行次序:先执行一次循环体语句块,然后在判断条件表达式的值,若为假,则跳出循环;若条件表达式的值为真,则再次执行

FOR循环语句的翻译程序设计(简单优先法、三地址码)JAVA资料

学号:0121210340527 课内实践报告 课程名称编译原理 题目FOR循环语句的翻译程序设计(简 单优先法、输出三地址码) 学院计算机科学与技术 专业计算机科学与技术 班级1201 姓名李潇颖 指导教师林泓 2014 年12 月9 日

课内实践任务书 学生姓名:李潇颖专业班级:计算机1201班 指导教师:林泓工作单位:计算机科学与技术学院 题目: FOR循环语句的翻译程序设计(简单优先法、输出三地址码)初始条件: 理论:学完编译课程,掌握一种计算机高级语言的使用。 实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课内实践工作量及其技术要求,以及说明书撰写等具体 要求) (1)写出符合给定的语法分析方法的文法及属性文法。 (2)完成题目要求的中间代码三地址码的描述。 (3)写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。 (4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。 (5)设计报告格式按附件要求书写。课内实践报告书正文的内容应包括: 1 系统描述(问题域描述); 2 文法及属性文法的描述; 3 语法分析方法描述及语法分析表设计; 4 按给定的题目给出中间代码形式的描述及中间代码序列的结构设计; 5 编译系统的概要设计; 6 详细的算法描述(流程图或伪代码); 7 软件的测试方法和测试结果; 8 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等); 9 参考文献(按公开发表的规范书写)。 时间安排: 设计安排一周:周1、周2:完成系统分析及设计。 周3、周4:完成程序调试及测试。 周5:撰写课内实践报告。 设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。 设计报告书收取时间:设计周的次周星期一上午10点。 指导教师签名:年月日 系主任(或责任教师)签名:

JAVA IO流处理程序设计实验报告(附完整代码)

流处理程序设计 一、课题内容和要求 内容:设计和编写一个程序从键盘读入一行字符串,将其写入一个文本文件中,再编写另一个程序从文本文件中读入字符串并在命令行窗口显示出来。 要求:要求学生能在学习和理解课堂学习内容中JAVA流编程理论的基础上,学习并逐步掌握JAVA流程序的编写和调试,学习根据处理需求对不同流的正确选择使用和组合使用方法。 二、设计思路分析 Write.java: class Write: 将字符串从键盘输入到文件。 Read.java: class Read: 将字符串从文件输出到命令行窗口。 三、概要设计 Write.java: public class Write{ public static void main(String[] args); } Read.java: public class Read{ public static void main(String[] args); } 四、详细设计 Write.java: import java.io.*; import java.util.Scanner; public class Write { public static void main(String[] args) { File file=new File("File.txt"); System.out.print("输入一行字符串:\n"); Scanner reader=new Scanner(System.in);//输入一行字符串

String s=reader.nextLine(); try {// 异常处理 FileWriter toFlie=new FileWriter(file);//通过底层流写入文件 BufferedWriter out=new BufferedWriter(toFlie);//通过缓冲流将字符串写入底层流 out.write(s); out.close(); toFlie.close(); } catch(IOException e){ System.out.println(e); } } } Read.java: import java.io.*; public class Read { public static void main(String[] args) { File file = new File("File.txt"); try {// 异常处理 FileReader fromFile = new FileReader(file);// 通过底层流读取文件 BufferedReader in = new BufferedReader(fromFile);// 通过缓冲流从底层流读取字符串 System.out.print("文件内容:\n"); String s = in.readLine();// 输出一行字符串 System.out.print(s); in.close(); fromFile.close(); } catch (IOException e) { System.out.println(e); } } } 五、测试数据及其结果分析 1正常输入:

实验项目四 第2部分 Java 输入输出流

实验项目四Java 高级编程 第2部分 Java输入/输出流 [实验目的] 1、掌握java 常用输入、输出流类及其各自方法。 2、能够灵活使用java 常用输入、输出流类及其各自方法解决实际应用问题。[实验要求] 1、复习理论教学中所学的内容。 2、认真进行实验预习,查阅参考书,书写源程序,书写实验预习报告。 3、认真总结实验并书写实验报告。 [实验课时] 2学时 [实验教学方式] 学生上机实验,教师随堂指导。 [实验内容] 输入输出流 实验1学读汉字 1.模板代码 //ChineseCharacters.java import java.io.*; importjava.util.StringTokenizer; public class ChineseCharacters { publicStringBuffergetChinesecharacters(File file) { StringBufferhanzi=new StringBuffer(); try{ FileReaderinOne=【代码1】 //创建指向文件f的inOne 的对象BufferedReaderinTwo=【代码2】 //创建指向文件inOne的inTwo 的对象 String s=null; int i=0; while((s=【代码3】)!=null) //inTwo读取一行 { StringTokenizertokenizer=new StringTokenizer(s," ,'\n' "); while(tokenizer.hasMoreTokens()) { hanzi.append(tokenizer.nextToken()); } }

相关主题
文本预览
相关文档 最新文档