java例题

这篇博客包含了多个Java编程题目,包括字符串比较、数组操作、矩形面积计算、二维数组转置、时间类的实现以及构造方法的应用。通过这些题目,旨在帮助读者理解和掌握Java基础及面向对象编程的概念。
摘要由CSDN通过智能技术生成
  1. 定义两个成员方法,一个成员方法实现为此成员变量赋值,另一个成员方法获取这个成员变量的值,保证其他类继承该类时能获取该类的成员变量的值
package test;
 public class test1 {
   	
   public class dog{
   	
   private int age;
   public void setAge(int age){
   
		this.age = age;
		}		
		public int getAge(int age){
   
		return this.age;		
		}		
		}
	}
  1. 分别截取字符串str1和字符串str2中的部内容,如果截取后的两个子串相同(不区分大小写)会输出“两个子串相同”,否则输出“两个子串并不相同”
package test;
public class test2 {
   
 public static void main(String[] args) {
   
  String str1="hello";
  String str2="welcome";
  String substr1=str1.substring(0,3);
  String substr2=str2.substring(0,3);
  if (substr1.equalsIgnoreCase(substr2))
  {
   
   System.out.println("两个子串相同");
   }
  else{
   
   System.out.println("两个子串并不相同");
   }
 }
}

3.编写Java程序,创建数组arr1和arr2,将数组arr1中索引位置是0~3中的元素复制到数组arr2中,最后将数组arr1和arr2中的元素输出

package test;
import java.util.Arrays;
public class test3 {
   
 public static void main(String[] args)
 {
   
  int[] arr1= {
   1,2,3,4,5};
  int[] arr2;
  arr2=Arrays.copyOfRange(arr1,0, 4);
  System.out.println(Arrays.toString(arr1));
  System.out
分支定界法是一种常用于解决优化问题的算法,本例以Java语言为例进行说明。 假设我们有一个背包,它的容量为C。现在有n个物品,每个物品有两个属性:重量和价值。我们的目标是装入背包的物品总价值最大化。假设物品的重量和价值分别存储在两个数组weights和values中。 首先,我们需要创建一个节点类,表示搜索树中的每个节点。以节点类的价值和重量作为评估依据,按照价值密度(价值/重量)排序,使搜索方向更倾向于高价值的物品。 接下来,创建一个优先队列(PriorityQueue),用于存储搜索树中的节点。将根节点(背包为空)加入队列。 然后,进入主循环,直到队列为空或者找到最优解为止。循环过程中,每次将队列中最优节点出队,得到当前节点的价值和重量。 如果当前节点的价值小于已找到的最优解,则继续搜索。否则,说明已经找到比已知最优解更优的解,更新最优解。 对于当前节点的扩展,可以选择放入下一个物品或者不放入。如果放入下一个物品不会超过背包的容量,则将其加入到队列中。放入物品的节点的价值和重量等于当前节点加上物品的价值和重量,不放入物品的节点的价值和重量等于当前节点。 最后,输出最优解即可。 以上就是使用分支定界法解决背包问题的一个示例。该算法的时间复杂度一般为O(2^n),其中n为物品数量。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值