周测试题及答案

1、实现在控制台输出九九乘法表。
package test1;

public class test1{
public static void main(String[] args) {
multiplication();
}
public static void multiplication(){
for (int i = 0; i <= 9; i++){
for(int j = 1; j <= i; j++){
System.out.print(i + "" + j + “=” + ij + " ");
}
System.out.println();
}
}
}
2、定义方法sum,要求实现两个数之和的运算,要求在main方法中调用。
package com.test;

public class test2 {
//定义相加的方法
public static int sum(int i,int j) {
return i + j;
}
public static void main(String[] args) {
int i = 10;
int j = 20;
System.out.println(i +"+"+j+"="+ test2.sum(i+j);
}
}
3、请写一个方法打印数组的内容,实现遍历数组,要求在main方法中调用。
public class Test3 {

public static void main(String[] args) {
	String[] arr1 = {"a","b","c"};
	String[] arr2 = {};
	String[] arr3 = null;
	System.out.println(printArray(arr1));
	System.out.println(printArray(arr2));
	System.out.println(printArray(arr3));
	
}

public static String printArray(String[] arr) {
	// [a,b,c]
	String result = "";
	
	if (null == arr) {
		result = "数组为null";
	} else {
		if (arr.length == 0) {
			result = "数组长度为 0";
		} else {
			result = "[";
			
			for (int i = 0; i < arr.length; i++) {
				if (i == arr.length - 1) {
					result += arr[i];
				} else {
					result += arr[i] + ",";
				}
			}
			
			result += "]";
		}
	}
	
	return result;
}

}
请将消费者在商城购物这个场景抽象出类,并编写一个客户端类,实现“小明在欧尚买了一件T恤”这样一个购物行为。
public class Customer {
private String name;

public Customer(String name) {
	super();
	this.name = name;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

}

public class Market {
private String name;

public Market(String name) {
	super();
	this.name = name;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

}

public class Product {
private String name;

public Product(String name) {
	super();
	this.name = name;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

}

public interface ShoppingServiceInter {
void shopping(Customer cus, Market market, Product product);
}

public class ShoppingService implements ShoppingServiceInter {

public void shopping(Customer cus, Market market, Product product) {
	System.out.println("" + cus.getName() + "在" + market.getName() + "买了件" + product.getName() + "");
}

}

public class Client {
public static void main(String[] args) {
Customer customer = new Customer(“小明”);
Market market = new Market(“欧尚”);
Product product = new Product(“T恤”);

	ShoppingService service = new ShoppingService();
	service.shopping(customer, market, product);
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些常见的软件工程师面试题及其参考答案: 1. 什么是软件生命期? 答:软件生命期是指软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等。每个阶段都有不同的任务和目标,以确保软件项目按时按质量地完成。 2. 什么是面向对象编程?它有什么优点? 答:面向对象编程是一种编程范式,它将数据和操作封装在一起,以创建对象。它的优点包括代码重用性、可维护性、可扩展性和可靠性。面向对象编程还可以提高代码的可读性和可理解性。 3. 什么是设计模式?你能举例说明一种设计模式吗? 答:设计模式是一些被广泛使用的解决常见软件设计问题的方案。例如,单例设计模式是一种确保只有一个实例被创建的模式。这通常用于需要对资源进行全局控制的情况,例如数据库连接或共享内存。 4. 什么是代码重构?它为什么很重要? 答:代码重构是指对现有代码的修改,以改进其结构、可读性和可维护性,同时保持其功能不变。它很重要,因为它可以帮助开发人员更好地理解代码、减少代码中的重复和冗余,并提高代码的可维护性和可扩展性。 5. 什么是单元测试?你为什么要进行单元测试? 答:单元测试是一种在代码级别测试软件功能的方法。它涉及编写测试代码来测试单个代码单元的行为。进行单元测试的原因是确保代码的正确性和稳定性,提高代码质量,并减少代码中的错误。 6. 什么是敏捷开发?你有参与过敏捷开发项目吗? 答:敏捷开发是一种以快速响应需求变化为基础的软件开发方法。它强调团队合作、快速迭代和持续交付。敏捷开发项目通常采用短期(如2)的迭代期,以确保项目及时交付。 7. 你有使用过哪些版本控制工具?你认为哪种工具最适合你的工作? 答:常见的版本控制工具包括Git、Subversion和Mercurial等。每个工具都有其优点和缺点,选择最适合你工作的工具取决于你的具体需求。例如,如果你需要进行分布式开发,那么Git可能更适合你。 8. 你如何处理项目中的冲突? 答:冲突通常发生在多个开发人员同时修改同一代码文件时。为了解决冲突,通常需要进行代码合并。这可以通过手动合并代码或使用版本控制工具的自动合并功能来完成。在处理冲突时,需要谨慎处理,以确保代码的正确性和稳定性。 9. 你如何处理代码中的错误? 答:处理代码中的错误需要进行调试和测试。调试通常涉及使用调试器来查找代码中的错误,并进行修复。测试涉及编写测试代码或使用自动化测试工具来测试代码的正确性和稳定性。在处理代码中的错误时,需要仔细分析问题,并采取适当的措施来解决问题。 10. 你如何管理项目中的时间和任务? 答:管理项目中的时间和任务需要制定计划、设置优先级和跟踪进度。这可以通过使用项目管理工具来实现,如Trello或Asana等。在管理时间和任务时,需要与团队成员进行沟通,并根据项目需求和进度进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值