JAVA实验二.docx
- 文档编号:28540752
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:16
- 大小:186.38KB
JAVA实验二.docx
《JAVA实验二.docx》由会员分享,可在线阅读,更多相关《JAVA实验二.docx(16页珍藏版)》请在冰豆网上搜索。
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); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 实验