JAVA实验二.docx

上传人:b****5 文档编号:28540752 上传时间:2023-07-18 格式:DOCX 页数:16 大小:186.38KB
下载 相关 举报
JAVA实验二.docx_第1页
第1页 / 共16页
JAVA实验二.docx_第2页
第2页 / 共16页
JAVA实验二.docx_第3页
第3页 / 共16页
JAVA实验二.docx_第4页
第4页 / 共16页
JAVA实验二.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

JAVA实验二.docx

《JAVA实验二.docx》由会员分享,可在线阅读,更多相关《JAVA实验二.docx(16页珍藏版)》请在冰豆网上搜索。

JAVA实验二.docx

JAVA实验二

上海电力学院

Java程序设计实验

题目实验二Java基本数据类型与控制语句

学号20133010

姓名郭昕班级2013221

院系计算机科学与技术学院专业软件工程

 

§2.1.1实验目的、内容及性质

1掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表;

2掌握使用if…elseif多分支语句;

3使用if…else分支和while循环语句解决问题。

§2.2.3实验指导

1.输出希腊字母表。

(代码补充完整,并完成调试,将运行结果截图)

✧实验要求:

编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。

✧程序运行效果示例:

程序运行效果如下图所示:

✧程序模板:

GreekAlphabet.java

publicclassGreekAlphabet

{

publicstaticvoidmain(Stringargs[])

{

intstartPosition=0,endPosition=0;

charcStart='α',cEnd='ω';

【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition

【代码2】//cEnd做int型转换运算,并将结果赋值给endPosition

System.out.println("希腊字母\'α\'在unicode表中的顺序位置:

"+(int)c);

System.out.println("希腊字母表:

");

for(inti=startPosition;i<=endPosition;i++)

{

charc='\0';

【代码3】//i做char型转换运算,并将结果赋值给c

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

if((i-startPosition+1)%10==0)

System.out.println("");

}

}

}

 

2.回文数。

(代码补充完整,并完成调试,将运行结果截图)

✧实验要求:

编写一个Java应用程序。

用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。

回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。

✧程序运行效果示例:

程序运行效果如下图所示:

✧程序模板:

Number.java

importjavax.swing.JOptionPane;

publicclassNumber

{

publicstaticvoidmain(Stringargs[])

{

intnumber=0,d5,d4,d3,d2,d1;

Stringstr=JOptionPane.showInputDialog("输入一个1至99999之间的数");

number=Integer.parseInt(str);

if(【代码1】)//判断number在1至99999之间的条件

{

【代码2】//计算number的最高位(万位)d5

【代码3】//计算number的千位d4

【代码4】//计算number的百位d3

d2=number%100/10;

d1=number%10;

if(【代码5】)//判断number是5位数的条件

{

System.out.println(number+"是5位数");

if(【代码6】)//判断number是回文数的条件

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(【代码7】)//判断number是4位数的条件

{

System.out.println(number+"是4位数");

if(【代码8】)//判断number是回文数的条件码

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(【代码9】)//判断number是3位数的条件

{

System.out.println(number+"是3位数");

if(【代码10】)//判断number是回文数的条件

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(d2!

=0)

{

System.out.println(number+"是2位数");

if(d1==d2)

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(d1!

=0)

{

System.out.println(number+"是1位数");

System.out.println(number+"是回文数");

}

}

else

{

System.out.printf("\n%d不在1至99999之间",number);

}

}

}

源程序:

importjavax.swing.JOptionPane;

publicclassEx2_2{

publicstaticvoidmain(Stringargs[])

{

intnumber=0,d5,d4,d3,d2,d1;

Stringstr=JOptionPane.showInputDialog("输入一个1至99999之间的数");

number=Integer.parseInt(str);

if(number>=1&&number<=99999){

d5=number/10000;

d4=number%10000/1000;

d3=number%1000/100;

d2=number%100/10;

d1=number%10;

if(d5!

=0){

System.out.println(number+"是5位数");

if(d1==d5&&d2==d4)//判断number是回文数的条件

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(d4!

=0)//判断number是4位数的条件

{

System.out.println(number+"是4位数");

if(d1==d4&&d2==d3)//判断number是回文数的条件码

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(d3!

=0)//判断number是3位数的条件

{

System.out.println(number+"是3位数");

if(d1==d3)//判断number是回文数的条件

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(d2!

=0)

{

System.out.println(number+"是2位数");

if(d1==d2)

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(d1!

=0)

{

System.out.println(number+"是1位数");

System.out.println(number+"是回文数");

}

}

else

{

System.out.println("\n%d不在1至99999之间");

}

}

}

 

§2.2.4实践编程

1、古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

  

源代码:

importjava.util.*;

publicclassEx2_04{

//斐波那契数列,Sn=Sn-1+Sn-2

publicstaticvoidmain(String[]args){

longs1,s2;//定义这个月和下个月兔子的数量

s1=1;//第一个月为1对

s2=1;//第二个月为1对

inti=1;//定义一个控制变量

intm;//月份数

Scannerin=newScanner(System.in);//从控制台输入想要查看的月份

System.out.println("请输入你想要查看的月数:

");//输入提示

m=in.nextInt();//输入的整数月份赋值给m

//while循环

while(true){

//第一个月和第二个月兔子的数量都为1对

if(i==1||i==2){

System.out.println(i+"month:

"+s1);

i++;//控制变量i加1

}

//i大于3并且小于我们需要查看的月份

elseif(i

s1=s1+s2;

s2=s1+s2;

System.out.println(i+"month:

"+s1);

i++;//月份加1

System.out.println(i+"month:

"+s2);

i++;//朋份加1

}else{

break;//不符合条件就退出

}

}

}

}

2.输入整数a和b,如果a能被b整除,就输出算式和商,否则输出算式、整数商和余数。

源代码:

importjava.util.*;

publicclassEx2_03{

publicstaticvoidmain(String[]args){

inta,b;

Scannerin1=newScanner(System.in);//从控制台输入a

Scannerin2=newScanner(System.in);//从控制台输入b

System.out.println("请输入a和b:

");

a=in1.nextInt();

b=in2.nextInt();

intc,d;

c=b%a;//取余数

d=b/a;//取商

if(c==0)//可以整除时

System.out.println("b%a的商:

"+d);

else//不能整除时

System.out.println("b%a整数商:

"+d+"余数:

"+c);

}

}

3.判断101-200之间有多少个素数,并输出所有素数。

程序分析:

判断素数的方法:

用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

源代码:

importjava.util.*;

publicclassEx2_05{

publicstaticvoidmain(String[]args)

{

intx=0;

Vectorv=newVector();//集合,用来装所有的素数

for(inti=101;i<=200;i++)

{

booleanb=true;//标签为b为真

for(intj=2;j

{

if(i%j==0)//求余数是否为0

{

b=false;//如果为0,将标签设置为false

break;//可以整除就跳出这个循环

}

}

if(b==true)//

{

v.add(i);//将符合要求的i加到集合里

x++;//素数个数加1

}

}

System.out.println("100到200中间有"+x+"个素数");

System.out.println("素数为:

/n"+v);

}

}

   

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1