上机题
1.分数化简
【问题描述】从键盘输入两个正整数,表示分数的分子和分母,编写程序完成分数的化简,输出化简后的结果,如果结果为整数,只输出整数结果。
【输入形式】从键盘输入两个正整数,两个整数用空格隔开
【输出形式】输出化简后的分子和分母
【样例输入】3 6
【样例输出】1 2
【样例说明】输入分数为3 6,输出其化简后结果1 2,如果输入分数为6 3,则输出其化简后结果2.
代码如下:
import java.util.Scanner;
public class text_1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a=scanner.nextInt();
int b=scanner.nextInt();
if(a%b==0)
System.out.print(a/b);
else{
for(int i=a;i>=1;--i){
if(a%i==0&&b%i==0){
a=a/i;
b=b/i;
}
}
System.out.println(a+" "+b);
}
}
}
选择题
1. | 以下for循环的执行次数是 for(int x=0;(x==0)&(x<4);x++); A. 无限次 B. 1次 |
---|
答案:B
2. | 下列方法定义中,不正确的是 B. int x( int a,int b) { return a-b; } C. int x( int a,int b ) { return a*b; } D. int x(int a,int b) { return 1.2*(a+b); } |
---|
答案:D
3. | 下面的程序片段输出的是什么: int a=3; int b=1; if(a=b){ System.out.println("a="+a); } A.a=1 B.a=3 C.编译错误,没有输出 D.正常运行,但没有输出 |
---|
答案:C
4. | 以下变量不符合Java语言变量的规定的是: A.variable_$_123 B.variable123_ C.123variable D.$variable$$$ |
---|
答案:C
5. | 下列语句序列执行后,k 的值是 |
---|
答案:B
6. | 以下的变量定义语句中,合法的是 |
---|
答案:C
7. | 现有一变量声明为boolean aa;下面赋值语句中正确的是 |
---|
答案:A
8. | 下列语句序列执行后,r 的值是 |
---|
答案:B
9. | 设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,正确的switch语句是 |
---|
答案:B
10. | 在编译时,不会出现警告或错误的语句是: A.boolean b = null; B.char c = "a"; C.byte b = 257; D.float f = 1.3f; |
---|
答案:D
编程题
1. 奇数和
【问题描述】计算从1开始的奇数的和,条件是当这些奇数的和超过100时就停止打印,循环条件为true。
【输入形式】无
【输出形式】输出这个和,然后换行
【样例输入】无
【样例输出】无
【样例说明】无
代码如下:
public class Homework_1 {
public static void main(String[] args){
int sum=0;
for(int i=1;sum<=100;i+=2)
sum+=i;
System.out.println(sum);
}
}
2.求闰年
【问题描述】输出(2011-2020年)之间的所有闰年。
【输入形式】无
【输出形式】2011年-2020年之间的所有闰年
【样例输入】无
【样例输出】每个闰年用空格隔开,如 2000 2004 2008
【样例说明】
代码如下:
public class Homework_2 {
public static void main(String[] args){
for(int curyear=2011;curyear<=2020;curyear++)
if((curyear%4==0&&curyear%100!=0)||curyear%400==0)
System.out.print (curyear+" ");
}
}
3.求三角形面积
【问题描述】
若已知三角形三个边的长度分别为a,b,c(并假设三个边长度的单位一致,在本编程题中忽略其单位),则可以利用公式:
求得三角形的面积,其中:s=(a+b+c)/2。编程实现从控制台读入以整数表示的三个边的长度(假设输入的长度肯定可以形成三角形),求平方根函数Math.sqrt(double n),然后利用上述公式计算面积并输出,结果小数点后保留3位有效数字。
【输入形式】
从控制台输入三个整数表示三角形三个边的长度,以空格分隔三个整数。
【输出形式】
向控制台输出求得的三角形的面积,小数点后保留三位有效数字。
【输入样例】
4 4 6
【输出样例】
7.937
【样例说明】
输入的三角形三个边的长度分别为4、4、6,利用上述计算公式可以求得三角形的面积为7.937,小数点后保留三位有效数字。
代码如下:
import java.util.Scanner;
public class Homework_3 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
double s = ((a+b+c)/2);
double S =Math.sqrt( s*(s-a)*(s-b)*(s-c)) ;
System.out.printf ("%.3f",S );
}
}
4.完全数问题Perfect Number
【问题描述】完全数,又称为完美数或完备数,是一些特殊的自然数,它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如,第一个完全数是6,它的约数1、2、3、6,去除它本身6外,其余3个数相加,1+2+3=6.第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。编程求10000以内的完全数。
【输入形式】无
【输出形式】输出10000以内的完全数,并输出每个完数的真因子。完数及各真因子之间用空格隔开,一个完数一行
【样例输入】无
【样例输出】
6 1 2 3
28 1 2 4 7 14
【样例说明】一个完数及其真因子占一行,第一行输出表示6为完数,1 2 3是它的真因子
【要求】需要定义方法实现
public class Homework_4 {
public static void main(String[] args){
for(int i=6;i<=10000;++i)
perfertCount(i);
}
public static void perfertCount(int i){
int sum=0;
for(int j=1;j<i;++j){
if(i%j==0)
sum+=j;
}
if(sum==i){
System.out.printf("%d ",sum);
for(int j=1;j<i;++j)
if(i%j==0){
System.out.printf("%d ",j);
}
System.out.println();
}
}
}
博主java萌新,有问题可评论区共同交流学习,欢迎大家交流awa