buka考试

基础 专栏收录该内容
1 篇文章 0 订阅

1.下列javaDoc注释正确的是( c )

A、/我爱北京天安门/
B、//我爱北京天安门*/
C、/我爱北京天安门/
D、/我爱北京天安门
/

2.检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。c

public class HelloB extends HelloA{

​ public HelloB(){}

​ {

​ System.out.println("I’m B class ");

​ }

​ static{

​ System.out.println("static B ");

​ }

​ public static void main(String[] args){

​ new HelloB();

​ }

}

Class HelloA{

​ public HelloA(){

​ }

​ {

​ System.out.println(" I’m A class ");

​ }

​ static{

​ System.out.println("static A ");

​ }

}

A、 static A
I’m A class
static B
I’m B class
B、 I’m A class
I’m B class
static A
static B
C、static A
static B
I’m A class
I’m B class

D、I’m A class
static A
I’m B class
static B
3. Java表达式"13 & 17"的结果是什么?(d)
A、30
B、13
C、17
D、1

关于TCP方面,你介绍一下三次握手呗?
(1)首先客户端向服务器端发送一段TCP报文,其中:

标记位为SYN,表示“请求建立新连接”;
序号为Seq=X(X一般为1);
随后客户端进入SYN-SENT阶段。
(2)服务器端接收到来自客户端的TCP报文之后,结束LISTEN阶段。并返回一段TCP报文,其中:

标志位为SYN和ACK,表示“确认客户端的报文Seq序号有效,服务器能正常接收客户端发送的数据,并同意创建新连接”(即告诉客户端,服务器收到了你的数据);
序号为Seq=y;
确认号为Ack=x+1,表示收到客户端的序号Seq并将其值加1作为自己确认号Ack的值;随后服务器端进入SYN-RCVD阶段。
(3)客户端接收到来自服务器端的确认收到数据的TCP报文之后,明确了从客户端到服务器的数据传输是正常的,结束SYN-SENT阶段。并返回最后一段TCP报文。其中:

标志位为ACK,表示“确认收到服务器端同意连接的信号”(即告诉服务器,我知道你收到我发的数据了);
序号为Seq=x+1,表示收到服务器端的确认号Ack,并将其值作为自己的序号值;
确认号为Ack=y+1,表示收到服务器端序号Seq,并将其值加1作为自己的确认号Ack的值;
随后客户端进入ESTABLISHED阶段。
服务器收到来自客户端的“确认收到服务器数据”的TCP报文之后,明确了从服务器到客户端的数据传输是正常的。结束SYN-SENT阶段,进入ESTABLISHED阶段。

在客户端与服务器端传输的TCP报文中,双方的确认号Ack和序号Seq的值,都是在彼此Ack和Seq值的基础上进行计算的,这样做保证了TCP报文传输的连贯性。一旦出现某一方发出的TCP报文丢失,便无法继续"握手",以此确保了"三次握手"的顺利完成。

此后客户端和服务器端进行正常的数据传输。这就是“三次握手”的过程。

zookeeper可用性差一点,那它可用性差在哪里?
zookeeper不是为高可用设计的
zookeeper选举过程非常慢
zookeeper性能有限
zookeeper无法进行有效地权限控制
即使有了zookeeper也很难避免业务系统的数据不一致

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。

package io;

import java.io.FileReader;
import java.util.Arrays;
import java.util.Iterator;
import java.util.Scanner;


public class copy {
	public static void main(String[] args) {
		Scanner scanenr = new Scanner(System.in);
		int[] arr = new int[7];
		for(int i=0;i<arr.length;i++) {
			System.out.println("请输入第"+(i+1)+"个数组内容.");
			arr[i] = scanenr.nextInt();
		}
		
		sory(arr);
		
		System.out.println(Arrays.toString(arr));
	}
	
	public static void sory(int[] arr) {
		int left = 0; //数组左侧索引
		int right = arr.length-1; //设置数组右侧索引
		int tem = 0; //用于值间交换
		
		while(left<=right) { //当数组左侧索引小于数组右侧索引时进行循环
			if(arr[left]%2==1&&arr[right]%2==0) {
				left++;
				right++;
			}else if (arr[left]%2==0&&arr[right]%2==0) {
				right--;
			}else if (arr[left]%2==1&&arr[right]%2==1) {
				left++;
			}else if (arr[left]%2==0&&arr[right]%2==1) {
				tem = arr[left];
				arr[left] = arr[right];
				arr[right] = tem;
				left++;
				right--;
			}
		}
	}
}

编写一个程序判断给定的数是否为丑数。

package test;

import java.util.Scanner;

public class Ugly {
	
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入一个正整数:");
		int num = scanner.nextInt();
		boolean res = isUgly(num);
		System.out.println("是否为丑数:"+res);
	}
	
	/**
	 * 判断是否为丑数
	 * @param num
	 */
	public static boolean isUgly(int num) {
		if(num <= 0) {
			return false;
		}else {
			while( num%2 == 0) {
				num=num/2;
			}
			while( num%3 == 0) {
				num=num/3;
			}
			while( num%5 == 0) {
				num=num/5;
			}
			return true;
		}		
	}
}

公鸡五块钱,母鸡三块钱。小鸡一块钱三个。一百块钱买一百只鸡。公鸡母鸡小鸡分别占多少?

package test;

public class Checken {
	public static void main(String[] args) {
		
		/**
		 * 第一层循环:用于表示公鸡的范围。 <=20
		 * 第二层循环:用于表示母鸡的范围。 <=33
		 */		
		for(int x=0;x<20;x++) {
			for(int y=0;y<33;y++) {
				int z = 100-x-y;
				if(z%3==0&&5*x+y*3+z/3==100) {
					System.out.println("公鸡:"+x+"母鸡:"+y+"小鸡:"+z);
				}
			}
		}
		
	}
}

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值