/repeat this algorithm for values from2 through 10/ }∥end method paint }∥end class Numbers 第2章使用Java解决简单的问题 一,概念复习和巩固(请在课后和上机前完成下面的练习) 1.以下选项中变量均已正确定义,错误的赋值语句是(D)。 A)i- B)i+=7 下面符合Java语言语法的表达式是(B), 生 3.定义整型变量:intn=456,表达式的值为5的是(AB), n0%10 /100*100/10 10 4对下面的语句序列正确的说法是(B。 int c=A/3; out.println(c) A)产生绵译错误, B)输出结果25 C)输出结果21, D给出结果2 5.设a,fxy,z均为it型的变量,并已赋值,下列表达式的结果属于非逻辑值的是(D)。 A)xsy&ef<a B)-z<x-y 6,执行下列程序段后,b, 的值正确的是(C int x=6.y=8: boolean b; A)t B)false 77 )false,6,8 8NPFHFHE 的受量b的值足(B): Bn(b="+b) 14. 8.若a和b均是整型变量并已正确赋值 正确的switch语句是(D) A)switch(a+b) B)switch(a+b*3.0) C)switch a D)switch(a%b) 9.以下由do-while语句构成的循环执行的次数是(D)。 A)无限次 B)有语法著不类执行 C)一次也不执行 D)执行1次 int k=0 程序段后,k的值是(B)
/* repeat this algorithm for values from 2 through 10 */ } // end method paint } // end class Numbers 第 2 章 使用 Java 解决简单的问题 一. 概念复习和巩固(请在课后和上机前完成下面的练习) 1.以下选项中变量均已正确定义,错误的赋值语句是(D)。 A) i--; B) i += 7; C) k += x +2; D) y + x = z; 2.若以下变量均已正确定义并赋值,下面符合 Java 语言语法的表达式是(B)。 A) a = a≤7 B) a = 7 + b + c C) int 12.3 % 4 D) a = a + 7 = c + b 3.定义整型变量: int n=456;,表达式的值为 5 的是(AB)。 A) n / 10 % 10 B) ( n - n / 100 * 100 )/10 C) n % 10 D) n / 10 4.对下面的语句序列正确的说法是 (B)。 int c='A'/3; c+='1'%5; System.out.println(c); A)产生编译错误; B)输出结果 25; C)输出结果 21; D)输出结果 2; 5.设 a, f, x, y, z 均为 int 型的变量,并已赋值,下列表达式的结果属于非逻辑值的是(D)。 A) x > y && f < a B) -z < x - y C) y != ++x D) y + x * x++ 6.执行下列程序段后,b, x, y 的值正确的是(C)。 int x=6,y=8; boolean b; b=x<y|++x==--y; A) true , 6, 8 B) false , 7, 7 C) true, 7, 7 D) false, 6, 8 7.下面的程序段输出的变量 b 的值是(B )。 int a = 0xFFFFFFFE; int b= ~a; System.out.println("b="+b); A) 0xFFFFFFFE B) 1 C) 14 D)-2 8.若 a 和 b 均是整型变量并已正确赋值,正确的 switch 语句是(D)。 A) switch(a+b); B) switch( a+b*3.0 ) { …… } { …… } C) switch a D) switch ( a%b ) { …… } { …… } 9.以下由 do-while 语句构成的循环执行的次数是(D)。 A)无限次 B)有语法错,不能执行 C)一次也不执行 D)执行 1 次 int k = 0; do { ++k; }while ( k < 1 ); 10. 执行完下面的程序段后,k 的值是(B)
int k=0; label:for(inti=:++) for(intj=l:j<5j++) k+=i+ if0-3 break label 43 B)9 C)12 D)6 1下列方 法的定 正确的 是(A). D)双f'returm a; 12下列方法定义中,方法头不正确的是(D)。 A)public int B)public static int x(double y) 了区分重载多态中同名的不同方 a. 3为1 A八)采用不同的形式参数列表 )返回值类型不同 C)参数名不同 D)选项A、B、C都对 14.在某个类中定义一个方法:void GetSor(int x)),以下能作为这个方法的重载的是(ABCD。 A.void GetSort(float x)x=x: 68 B.int GetSort(doubley)return(int)(2y). 10 ,y 5若 123436789 则a组元素正的是B A1a.31 C)a101 D)a(0) 16.下面是在命令行运行java应用程序A,怎样才能在main(String args[)方法中访问单词 ags0 D)args[5] 二本章上机实验 上机实验三 }编 程序,定义一个整数1255,把它的2 进制 ,16进制的表示在屏幕输出 数占后两位) 3.编写Java应用程序.求40的阶乘(要求输出结果的每一位)。 4.编写Jawa小程序.打印九九乘法表。 5.编写Java小程序.求当n=l00时菲波那契(Fbonacci)数列的m 的比值。 6.编写Java应用程序求1!+2++201的和并显示,要求用方法实现求阶乘
int k=0; label:for(int i=1;i<10;i++) { for(int j=1;j<5;j++) { k+=i+j; if(j==3) break label; } } A) 3 B) 9 C)12 D) 6 11.下列方法 x 的定义中,正确的是(A)。 A) int x( ){ char ch='a'; return (int)ch; } B) void x { ... } C) int x( int i ){ return (double)(i+10); } D) x( int a){ return a; } 12.下列方法定义中,方法头不正确的是(D)。 A) public int x( ){ ... } B) public static int x( double y ){ ... } C) void x( double d ) D) public static x( double a ){ ... } 13.为了区分重载多态中同名的不同方法,要求(A)。 A) 采用不同的形式参数列表 B) 返回值类型不同 C) 参数名不同 D) 选项 A、B、C 都对 14.在某个类中定义一个方法:void GetSort(int x),以下能作为这个方法的重载的是(ABCD)。 A.void GetSort(float x){ x*=x; } B.int GetSort(double y){ return (int)(2*y);} C.double GetSort(int x,int y) {return x+y;} D.void GetSort(int x,int y) { x=x+y;y=x-y} 15.若已定义:int a[ ]= {0,1,2,3,4,5,6,7,8,9} ; 则对 a 数组元素正确的引用是(B)。 A) a[-3] B) a[9] C) a[10] D) a(0) 16.下面是在命令行运行 Java 应用程序 A,怎样才能在 main(String args[])方法中访问单词 "first" (BD)? java A the first snow , the first snow came. A)args[0] B)args[1] C)args[2] D)args[5] 二. 本章上机实验 上机实验三 1.编写 Java 小程序,定义一个整数 1255,把它的 2 进制、16 进制的表示在屏幕输出。 2.编写应用程序,在 main 方法在中定义字符串“1.235678e2”、“87.8f”和“128”,将他们分别 转化为对应的 double 数、float 数和 int 数并输出,最后输出这三个数的和(要求结果保留到 小数点后两位)。 3.编写 Java 应用程序,求 40 的阶乘(要求输出结果的每一位)。 4.编写 Java 小程序,打印九九乘法表。 5.编写 Java 小程序,求当 n=100 时菲波那契(Fibonacci)数列的 fib(n) fib(n −1) 的比值。 6.编写 Java 应用程序求 1!+2!+...+20!的和并显示,要求用方法实现求阶乘
上机实验四 个三位数abc,满足数字算式:ab×abc=**ab心,其中代表数字,使用- 层循环求满足 用程 并菲波那契下 积,实现Q以下功能:当应用程序运行后,根据屏提示进行交互式输入 3.应用程序中定义方法头如下所示的方法 static intn add(intn x inth y) static ir add方法的助能无 ]multi(int]x,int[]y) (其元 相 的 个元素相 并作为返回数 数组的 切月能 和 个数相同)的每个元素相乘, 4重3个不后太 用 4个参数,分别用来求4个int、 4个1ong,4个1oat数的最大值和最小值。编写av 应用程序,使用这些方法 5.编写Jaa应用程序,程序运行后,根据屏幕提示输入一个数字字符串,回车后统计有多 少个偶数数字和奇数数字。 6.编写应用程序.定义一个5行3列的二维数组,给数组的每个元素赋10100之间的随机 值,显示二维数组每行的元素,并输出所有元素的和。 本章上机拓展练习 1,查阅Java APl帮助文档,上机调试下面的程序,使之编译通过并能正确运行。 importjavax.swing JOptionPane: public class Temperature ublie void minn) int option int degree String re sult option=0; While(option!=3) "2 for Celsius to Fahrenheitn3 to quit:"). option-Double.parseDouble(input) degree
上机实验四 1.一个三位数 abc ,满足数字算式: abcabc = ***abc ,其中*代表数字,使用一 层循环,求满足条件的三位数。 2.编写 Java 应用程序,实现以下功能:当应用程序运行后,根据屏幕提示进行交互式输入 并菲波那契(Fibonacci)数列的任意项。 3.应用程序中定义方法头如下所示的方法: static int[] add(int[] x, int[] y) static int[] multi(int[] x, int[] y) add 方法的功能是:把参数数组 x 和 y(其元素个数相同)的每个元素相加,并作为返回数 组的元素;multi 方法的功能是:把参数数组 x 和 y(其元素个数相同)的每个元素相乘, 并作为返回数组的元素。在 Java 应用程序中使用这两个方法。 4.重载 3 个不同版本的 max 方法和 min 方法,这些方法均有 4 个参数,分别用来求 4 个 int、 4 个 long、4 个 float 数的最大值和最小值。编写 Java 应用程序,使用这些方法。 5.编写 Java 应用程序,程序运行后,根据屏幕提示输入一个数字字符串,回车后统计有多 少个偶数数字和奇数数字。 6.编写应用程序,定义一个 5 行 3 列的二维数组,给数组的每个元素赋 10~100 之间的随机 值,显示二维数组每行的元素,并输出所有元素的和。 本章上机拓展练习 1.查阅 Java API 帮助文档,上机调试下面的程序,使之编译通过并能正确运行。 import javax.swing.JOptionPane; public class Temperature { public static void main( String args[] ) { int option; int degree1; int celsius1; int fahrenheit1; String result; String degree; String fahrenheit; String input; String celsius; option = 0; While ( option != 3 ) input = JOptionPane.showInputDialog( " 1 for Fahrenheit to Celsius\n" + " 2 for Celsius to Fahrenheit\n 3 to quit:" ); option = Double.parseDouble( input ); degree =
JOptionPane.showInputDialog("Enter thr degree in Fahrenheit:"). degree1=Double.parseDouble(degree celsius1 =(degree1-32)*5/9 result="The temp in Celsius is"+celsiusl if(option=2)月 degree=JOptionPane.showInputDialog("Enter degree in Celsius:"); degreel=Double.parseDouble(degree ) fahrenheitl=(degreel9/5)+32: result="The temp in Fahrenheit is"+fahrenheitl; System.exit(0)月 }∥end while loop }∥end method Main )//end class Temperature 能数是有是日文数。根器~冲的注邦特下面的图序补充完玉,使之编样适过并 ing JOptionPane public class Palindrome String resultString.//result String int number INumber rinput number value in umber for ouput int digit2 ∥second digit nt dig int digits: //number of digits in input number =0; digits=0:
JOptionPane.showInputDialog( "Enter thr degree in Fahrenheit: " ); degree1 = Double.parseDouble( degree ); celsius1 = ( degree1 - 32 ) * 5 / 9; result = "The temp in Celsius is " + celsius1; JOptionPane.showMessageDialog( null, result, "Result", JOptionPane.INFORMATION_MESSAGE ); if ( option == 2 ); degree = JOptionPane.showInputDialog( "Enter degree in Celsius: " ); degree1 = Double.parseDouble( degree ); fahrenheit1= ( degree1 * 9 / 5 ) + 32; result = "The temp in Fahrenheit is " + fahrenheit1; JOptionPane.showMessageDialog( null, result, "Result", JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); } // end while loop } // end method Main } // end class Temperature 2.判断一个数是否是回文数。根据/**/中的注释将下面的程序补充完整,使之编译通过并 能正确运行。 import java.awt.*; import javax.swing.JOptionPane; public class Palindrome { // main method begins execution of Java application public static void main( String args[] ) { String resultString; // result String int number; // user input number int originalNumber; // stores original value in number for output int digit1; // first digit int digit2; // second digit int digit4; // fourth digit int digit5; // fifth digit int digits; // number of digits in input number = 0; digits = 0; /* Write code that inputs a five-digit number. Display an error message if the number is not five digits. Loop until a valid input is received. */
calculation to remove that digit from the number.Then repeat this Wrt that determines whether the first 二 riginal string Display whether or not the given number is a palindrome. System.exit(0); }∥end method main }∥end class Palindrome 的宽公品杂型里资素和解者一个四位数。根郑冲的注释将下面 ,使之编译通过并能正确运仃 Part A:Program enerypts a four-digit number public class Encrypt //main method begins execution of Javaapplication public static void main(String) int number ∥original number int digit ∥first dig igit int digit4 ∥fourth digit int encryptedNumber //encrypted numbe //enter four digit number to be encrypted e here tat ill enerypt everyotdig umber Write code here that swaps the digits to produce the encrypted number* /Write code here to display the encrypted number in a message dialog System exit(0): }∥end method mair }∥end class Encrypt
/* Write code that separates the digits in the five digit number. Use division to isolate the left-most digit in the number, use a remainder calculation to remove that digit from the number. Then repeat this process. Store the original value of number in variable originalNumber before performing calculations. */ /* Write code that determines whether the first and last digits are identical and the second and fourth digits are identical. Assign resultString a string indicating whether or not the original string is a palindrome. */ /* Display whether or not the given number is a palindrome. */ System.exit( 0 ); } // end method main } // end class Palindrome 3. 下面的程序 Part A 和 Part B 分别用来加密和解密一个四位数。根据/**/中的注释将下面 的程序补充完整,使之编译通过并能正确运行。 =================================== Part A: Program encrypts a four-digit number. =================================== import java.awt.*; import javax.swing.JOptionPane; public class Encrypt { // main method begins execution of Java application public static void main( String args[] ) { int number; // original number int digit1; // first digit int digit2; // second digit int digit3; // third digit int digit4; // fourth digit int encryptedNumber; // encrypted number // enter four digit number to be encrypted String inputNumber = JOptionPane.showInputDialog( "Enter a four digit number: " ); number = Integer.parseInt( inputNumber ); // encrypt /* Write code here that will encrypt every digit of the 4-digit number */ /* Write code here that swaps the digits to produce the encrypted number */ /* Write code here to display the encrypted number in a message dialog */ System.exit( 0 ); } // end method main } // end class Encrypt