#Java学习#习题一

其他JAVA学习的内容见:目录

判断题

1-1.java语言中不用区分字母的大写小写。

F
Java语言严格区分大小写

1-2.Java语言中,变量名可以用汉字表示。

T

1-3.字节码文件是与平台无关的二进制码,执行时由解释器解释成本地机器码。

T

1-4.Java的字符类型采用的是ASCII编码。

F
Java的字符类型采用的是Unicode编码方案

1-5.Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关

T
Java 运行在Java虚拟机中,相当Java自己电脑。类型长度只与Java虚拟机有关,屏蔽了各底层平台的不同

单选题

2-1.下列不可作为java语言标识符的是()。

A.a2
B.$2
C._2
D.22

D,必须以字母或_或$开头

2-2.编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A…byte
B…class
C…html
D…exe

B

2-3.在Java中,负责对字节代码解释执行的是( )。

A.应用服务器
B.虚拟机
C.垃圾回收器
D.编译器

B

2-4.下面哪单词是Java语言的关键字( )

A.Float
B.this
C.string
D.unsigned

B
abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for if goto implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while
保留字const,goto

2-5.下面的方法,当输入为2的时候返回值是多少?( )

public int getValue(int i) {
         int result = 0;
         switch (i) { 
            case 1: 
                result = result + i; 
            case 2: 
                result = result + i  * 2; 
            case 3: 
                result = result + i  * 3; 
        } 
        return result; 
 } 

A.0
B.2
C.4
D.10

D,注意:没有break,case只是一个入口,会从case2一直执行下去

2-6.在JAVA中,给定代码片段如下所示,则编译运行后,输出结果是()。

for (int i = 0; i < 10; i++) {
    if (i == 10 - i) {
        break;
    }

    if (i % 3 != 0) {
        continue;
    }
    System.out.print(i + " ");
}

A.0
B.0 3
C.0 3 6
D.0 3 6 9

B

函数题

是否偶数

本题要求实现一个函数,判盘输入的整数是否是偶数,如果是偶数,返回true,否则返回false。

函数接口定义:
public static boolean isOdd(int data)

说明:其中 data是用户传入的参数。 data 的值不超过int的范围。函数须返回true 或者false

裁判测试程序样例:

import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int data=in.nextInt();
		System.out.println(isOdd(data));
	}
	
	/* 请在这里给出isOdd(i)函数 */
	
}

输入样例:
8
输出样例:
true

代码实现

public static boolean isOdd(int data){
		if(data % 2 == 0)
			return true;
		else
			return false;
	}

编程题

编程题:判断闰年-hebust

根据输入的正整数y所代表的年份,计算输出该年份是否为闰年 闰年的判断标准:

  • 能够被4整除且不能被100整除的年份
  • 或者能够被400整除的年份

输入格式:
输入n取值范围是 【1…3000】

输出格式:
是闰年,输出 yes
非闰年,输出 no

输入样例:
在这里给出一组输入。例如:
100

输出样例:
在这里给出相应的输出。例如:
no

编译程序

import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int y = in.nextInt();
		if(((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)){
			System.out.println("yes");
		}
		else
			System.out.println("no");
	}
	
}

求一个三位正整数各位数字之和

求一个三位正整数各位数字之和

输入格式:
输入一个三位的正整数

输出格式:
输出百十个位上各位数字的和

输入样例:
678

输出样例:
21

编译程序

import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int n = in.nextInt();
		int a, b, c, sum = 0;
		a = n / 100;
		b = (n % 100) / 10;
		c = n % 10;
		sum = a + b + c;
		System.out.print(sum);
	}
	
}

JAVA-水仙花数

水仙花数是指一个N位正整数(7≥N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 要求编写程序,计算所有N位水仙花数。

输入格式:
输入一个正整数N(3≤N≤7)。

输出格式:
按递增顺序输出所有N位水仙花数,每个数字占一行。

输入样例:
在这里给出一组输入。例如:
3

输出样例:
在这里给出相应的输出。例如:
153
370
371
407

编译程序

import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int n = in.nextInt();
		int min = 1, max = 1;
		int i, j;
		for(i = 1; i < n; i++)
			min *= 10;
		max = min * 10;
		for(j = min; j < max; j++)
		{
			int num, m, k = 1, sum = 0;
			m = j / 10;
			num = j % 10;
			for(i = 1; i <= n; i++)
				k *= num;
			sum += k;
			k = 1;
			while(m != 0)
			{
				num = m % 10;
				for(i = 1; i <= n; i++)
					k *= num;
				sum += k;
				k = 1;
				m /= 10;
			}
			if(sum == j)
				System.out.println(+j);
		}
		
	}
}

统计正数和负数的个数然后计算这些数的平均值

编写程序,输入未指定个数的整数,判断读入的正数有多少个,读入的负数有多少个,然后计算这些输入值得总和及平均值(不对0计数)。当输入为0时,表明程序结束。将平均值以double型数据显示。

输入格式:
输入在一行中给出一系列整数,其间以空格分隔。当读到0时,表示输入结束,该数字不要处

输出格式:
在第一行中输出正整数的个数; 在第二行中输出负整数的个数; 在第三行中输出这些输入值的总和(不对0计数); 在第四行中输出这些输入值的平均值(double型数据)。

输入样例:
1 2 -1 3 0

输出样例:
3
1
5
1.25

编译程序

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		
		int positiveNum = 0; 
		int	negativeNum = 0;  
		int sum = 0;  
		while (true) {
			int x = input.nextInt();
			if (x == 0)     
				break;
			
			if (x > 0) 
				positiveNum++;	
			else 
				negativeNum++;
			sum += x;
		}
		
		if (positiveNum + negativeNum != 0) {	
			System.out.println(positiveNum);
			System.out.println(negativeNum);
			System.out.println(sum);
			
			double average = 0.0;
			average = 1.0 * sum / (positiveNum + negativeNum);
			System.out.println(average);
		}
	}
}

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值