




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 控制语句(第部分)4.10 if语句和while语句都是判断语句,执行条件表达式是否满足才执行下一步。而while是循环语句,当条件满足时会一直执行下去,直到条件表达式为假。If最多执行一次。4.11 当程序设计者用两个整数相除时程序结果只有整数部分,小数部分不但被省略而且不会四舍五入。为了避免这种情况,我们应根据实际情况选择适当的精度进行计算,如使用单精度的数进行计算,如2.0/6就可以了,结果可以自己保存4.12我们把没种控制语句用活动图进行建模。每个活动图包含一个初始状态和一个最终状态。使用单入口/单出口的控制语句,很容易构造程序。这种类似儿童搭积木的方式,我们称为控制语句堆叠。控制语句嵌套,通过这种方式,一个控制语句可以出现在另外一个控制语句内。4.13为了计算前100个整数的和,可以使用计数器控制循环。而计算任意整数的和为了方便使用标记控制循环。对于计数器控制实现:指定一个计数器然后判断是否大于100,如果大于则终止。对于标记控制的实现,按照书上的做法即可,不再叙述。4.14前缀增量变量是让变量值先增加后使用变量的值而后缀增量变量是让变量先使用当前值在增加变量的值4.15 a) if语句后面没有分号,去掉即可b)total没有赋初值,赋予初值即可c)和上面一样total和x没有赋初值,赋予初值即可d)条件判断错误,这是可能是一个永真式,把条件修改一下,赋予y的初值即可。4.16结果为:149162536496481100Total is 3854.17程序为:import java.util.Scanner;public class Navigate private int gallonNumber;public Navigate( int number )gallonNumber = number;public void examNaviagte()Scanner input = new Scanner( System.in );int distance;int gallon;int counter = 1;double average;System.out.println(Input distance and gallon : );System.out.println(Enter the distance and gallon:);distance = input.nextInt();gallon = input.nextInt();average = distance*gallon;while ( counter 0.0 )System.out.println(The new cash balance is n: +cashBalance);elseSystem.out.println(Credit limit exceeded!n);测试类为:public class CreditTest /* * param args */public static void main(String args) / TODO Auto-generated method stubCredit credit1 = new Credit();credit1.displayMessage();Credit credit2 = new Credit();credit2.displayMessage();Credit credit3 = new Credit();credit3.displayMessage();4.19程序为:import java.util.Scanner;public class Sale public void displayMessage()Scanner input = new Scanner( System.in );int goods1;int goods2;int goods3;int goods4;int basicWage = 200;double pushMoney = 0.09;double price1 = 239.99;double price2 = 129.75;double price3 = 99.95;double price4 = 350.89;double wage;System.out.println(Enter the four goods numbers you sale:);goods1 = input.nextInt();goods2 = input.nextInt();goods3 = input.nextInt();goods4 = input.nextInt();wage = basicWage+(goods1*price1+goods2*price2+goods3*price3+goods4*price4)*pushMoney;System.out.printf(Your month wage is :%.2fn,wage);测试类为:public class SaleTest /* * param args */public static void main(String args) / TODO Auto-generated method stubSale sale1 = new Sale();sale1.displayMessage();Sale sale2 = new Sale();sale1.displayMessage();Sale sale3 = new Sale();sale1.displayMessage();4.20程序为:import java.util.Scanner;public class Wage private String name;private int wage = 50;public Wage( String initialName )name = initialName;public void setName( String initialName )name = initialName;public String getName()return name;public void diaplayMessage()Scanner input = new Scanner(System.in);final int TIME = 40;int time;double weekWage = 0.0;System.out.println(Enter the time you work:);time = input.nextInt();if ( time = TIME )weekWage = TIME*wage+(time-TIME)*wage/2;elseweekWage = time*wage;System.out.printf(%s week wage is :%.2fn, name, weekWage);测试为:public class WageTest /* * param args */public static void main(String args) / TODO Auto-generated method stubWage wage1 = new Wage( Wangming );wage1.diaplayMessage();Wage wage2 = new Wage( Liming );wage2.diaplayMessage();Wage wage3 = new Wage( Ruoshui );wage3.diaplayMessage();4.21伪码如下:Set number to zeroSet counter to oneSet largest to number1While counter is less than or equal to ten Promenpt the user to enter the next numberInput the next gradeCompare two number between largest and each numberPrint the largest number4.22程序为:public class Exercise /* * param args */public static void main(String args) / TODO Auto-generated method stubint n;int i;System.out.printf(%s%10s%10s%10sn, N, 10*N, 100*N, 1000*N);for ( i=1; i=5; i+ )System.out.printf(%d, i); System.out.printf(%10d, i*10);System.out.printf(%10d, i*100);System.out.printf(%10d, i*1000);System.out.printf(n); 4.23程序为:import java.util.Scanner;public class Exercise3 /* * param args */public static void main(String args) / TODO Auto-generated method stubScanner input = new Scanner(System.in);int max1;int max2;int number = 0; int i = 1;max1 = number;max2 = number;while ( i max1 )max2 = max1;max1 = number;System.out.printf(The largest number is :%dn, max1);System.out.printf(The second largest number is :%dn, max2);4.24:修改后的程序为:import java.util.Scanner; / class uses class Scannerpublic class Analysis public void processExamResults() / create Scanner to obtain input from command window Scanner input = new Scanner( System.in ); / initializing variables in declarations int passes = 0; / number of passes int failures = 0; / number of failures int studentCounter = 1; / student counter int result; / one exam result (obtains value from user) / process 10 students using counter-controlled loop while ( studentCounter 8 ) System.out.println( Raise Tuition ); / end method processExamResults / end class Analysis4.25结果为:*+*+*+*+*+4.26结果为:4.27 a)当x=9和y=11输出结果为:*$当x=11和y=9结果为:$b) 当x=9和y=11输出结果为:*当x=11和y=9结果为:#$4.28修改的程序如下:a)缩减后的程序为: if ( y= 8 )if ( x = 5 )System.out.println();elseSystem.out.println(#);System.out.println($);System.out.println(&);b)缩减后的程序为:if ( y= 8 )if ( x = 5 )System.out.println();elseSystem.out.println(#);System.out.println($);System.out.println(&);c)缩减后的程序为:if ( y= 8 )if ( x = 5 )System.out.println();elseSystem.out.println(#);System.out.println($);System.out.println(&);d)缩减后的程序为:if ( y= 8 )if ( x = 5 )System.out.println();elseSystem.out.println(#);System.out.println($); System.out.println(&);4.29程序代码为:import java.util.Scanner;public class Exercise4 /* * param args */public static void main(String args) / TODO Auto-generated method stubScanner input = new Scanner(System.in);int side;int i = 1;int j = 1;System.out.println(Enter the side :);side = input.nextInt();while ( i = side )System.out.print(*);i+;while ( j = side-2 )System.out.printf(n);System.out.printf(*);i = 1;while ( i = side-2 )System.out.printf( );i+;System.out.printf(*);j+;i = 1;System.out.printf(n);while ( i = side )System.out.print(*);i+;4.30程序代码为:import java.util.Scanner;public class Exercise4 /* * param args */public static void main(String args) / TODO Auto-generated method stubScanner input = new Scanner(System.in);int number;int temp = 0;System.out.println(Enter a five-digit-number:);number = input.nextInt();temp = palindrome( number );if ( temp = 1 )System.out.printf(%d is a palindrome!, number);elseSystem.out.printf(%d is not a palindrome,try again!n, number);System.out.println(Enter a five-digit-number:);number = input.nextInt();temp = palindrome( number );if ( temp = 1 )System.out.printf(%d is a palindrome!, number);elseSystem.out.printf(%d is not a palindrome!, number);public static int palindrome( int number )int a;int b;int c;int d;int temp;a = number/10000;b = (number/1000)%10;c = (number/10)%10;d = number%10;if ( a=d & b=c )temp = 1;else temp = 0;return temp;4.31程序代码为:import java.util.Scanner;public class Exercise5 /* * param args */public static void main(String args) / TODO Auto-generated method stubScanner input = new Scanner(System.in);int n;int temp = 1;int sum = 0;System.out.println(Enter a binary system number:);n = input.nextInt();while ( n != 0 )sum += temp*n%10;temp *= 2;n /= 10;System.out.printf(After switch the deciaml system number is :%d!, sum);4.32程序代码为:public class Exercise6 /* * param args */public static void main(String args) / TODO Auto-generated method stubExercise6 m=new Exercise6();int n = 8;int i = 1;while ( i = n )if ( i%2 = 1 )m.displayMessage();System.out.println();elseSystem.out.print( );m.displayMessage();System.out.println();i+;public void displayMessage()int i = 1;while ( i = 8 )System.out.print(* );i+;4.33程序会一直执行下去。4.34自增只能用于一个变量,所以不能用于算术表达式。正确的为:System.out.println(x+y+1);4.35程序代码为:import java.util.Scanner;public class Exercise7 /* * param args */public static void main(String args) Scanner input = new Scanner(System.in);double side1;double side2;double side3;System.out.println(Enter the first side:);side1 = input.nextDouble();System.out.println(Enter the second side:);side2 = input.nextDouble();System.out.println(Enter the third side:);side3 = input.nextDouble();if ( side1side2+side3 & side2side1+side3 & side30 & side20 & side30 )if ( side1*side1 = side2*side2+side3*side3 )System.out.println(They can copose a right triangle!);else if ( side2*side2 = side1*side1+side3*side3 ) System.out.println(They can copose a right triangle!);else if ( side3*side3 = side1*side1+side2*side2 )System.out.println(They can copose a right triangle!);elseSystem.out.println(Data error!);4.37程序代码为:import java.util.Scanner;public class Encryption public static void main(String args)Scanner input = new Scanner(System.in);int data;int a;int b;int c;int d;System.out.println(Enter the encryption data with four digital number: );data = input.nextInt();a = (data/1000+7)/10;b = (data/100%10+7)/10;c = (data/10%10+7)/10;d = (data%10+7)/10;System.out.printf(After encrypt,the data is :%d%d%d%d!,c,d,a,b);解密的程序为:import java.util.Scanner;public class Decryption /* * param args */public static void main(String args) / TODO Auto-generated method stubScanner input = new Scanner(System.in);int data;int a;int b;int c;int d;System.out.println(Enter the encrypted data with four digital number: );data = input.nextInt();a = (data/1000+10)-7)%10;b = (data/100%10+10)-7)%10;c = (data/10%10+10)-7)%10;d = (data%10+10)-7)%10;System.out.printf(The decryption data is :%d%d%d%d!,c,d,a,b);4.38a)求阶乘代码为:import java.util.Scanner;public class Exercise8 /* * param args */public static void main(String args) / TODO Auto-generated method stubScanner input = new Scanner(System.in);int number;int factorial = 1;System.out.p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学旋转题目及答案数学
- 2025年化工元素制图题库及答案
- 古筝乐理题库及答案
- 2025年空分制氧考试试题及答案
- 湖南省周南教育集团2023-2024学年七年级上学期语文12月月考试卷(含答案)
- 文库发布:Scratch与Arduino教学课件
- 食品安全配料知识培训总结
- 5年级下册数学期末试卷及答案
- ps星空课件教学课件
- 煤矿采煤考试题库及答案
- 摩托车协议买卖合同模板
- 2024年全国体育单独统一招生考试语文试卷附答案
- 核燃料生产成本分析-全面剖析
- 动火作业安全专项方案
- 旅游业税务风险及防范措施分析-基于企业所得税的视角
- 南大版一年级心理健康第15课《走进大自然》课件
- QC主管转正述职报告
- 2024年大连银行授信审批部招聘笔试真题
- 支气管哮喘的护理个案分析
- 液压系统基础知识培训课件
- 《人脑的结构》课件
评论
0/150
提交评论