Java语言程序设计与数据结构(基础篇)课后练习题 第十一章(二)

11.10

import java.util.ArrayList;
import java.util.Scanner;

public class dishiyizhang {

	public static void main(String[] args) {
		System.out.print("Enter 5 strings: ");
		Scanner input  = new Scanner(System.in);
		MyStack m = new MyStack();
		for(int i=0;i<5;i++){
			String str = input.next();
			m.push(str);
		}
		while(!m.isEmpty())
			System.out.println(m.pop());
	}

}
class MyStack extends ArrayList{

	public void push(Object o){
		super.add(o);
	}
	public Object pop(){
		Object o = super.get(size()-1);
		super.remove(size()-1);
		return o;
	}
	public boolean isEmpty(){
		return super.isEmpty();
	}

}

11.11

import java.util.ArrayList;
import java.util.Scanner;

public class dishiyizhang {

public static void main(String[] args) {
	System.out.print("Enter 5 integers: ");
	Scanner input = new Scanner(System.in);
	ArrayList<Integer> list = new ArrayList<>();
	for (int i = 0; i < 5; i++) {
		Integer n = input.nextInt();
		list.add(n);
	}
	sort(list);
	for (int i = 0; i < 5; i++)
		System.out.println(list.get(i));
}
public static void sort(ArrayList<Integer> list) {
	java.util.Collections.sort(list);
}

}

11.12

import java.util.ArrayList;
import java.util.Scanner;

public class dishiyizhang {

public static void main(String[] args) {
	System.out.print("Enter 5 doubles: ");
	Scanner input = new Scanner(System.in);
	ArrayList<Double> list = new ArrayList<>();
	for (int i = 0; i < 5; i++) {
		double n = input.nextDouble();
		list.add(n);
	}
	double sum = sum(list);
	System.out.println("The sum is " + sum(list));
}
public static double sum(ArrayList<Double> list) {
	double n1 = 0;
	for (double n2 : list)
		n1 += n2;
	return n1;
}

}

11.13

import java.util.ArrayList;
import java.util.Scanner;

public class dishiyizhang {

public static void main(String[] args) {
	System.out.print("Enter 10 integers: ");
	Scanner input = new Scanner(System.in);
	ArrayList<Integer> list = new ArrayList<>();
	for (int i = 0; i < 10; i++) {
		int n = input.nextInt();
		list.add(n);
	}
	removeDuplicate(list);
	System.out.print("The distinct integers are ");
	for (Integer integer : list)
		System.out.print(integer + " ");
}
public static void removeDuplicate(ArrayList<Integer> list) {
	int n1 = 0;
	while (n1 < list.size()) {
		int n2 = list.get(n1);
		if (list.indexOf(n2) != n1)
			list.remove(n1);
		else
			n1++;
	}
}
//	34 5 3 5 6 4 33 2 2 4

}

11.14

import java.util.ArrayList;
import java.util.Scanner;

public class dishiyizhang {

public static void main(String[] args) {
	System.out.print("Enter 5 integers for list1: ");
	Scanner input = new Scanner(System.in);
	ArrayList<Integer> list1 = new ArrayList<>();
	for (int i = 0; i < 5; i++) {
		int n1 = input.nextInt();
		list1.add(n1);
	}
	System.out.print("Enter 5 integers for list2: ");
	ArrayList<Integer> list2 = new ArrayList<>();
	for (int i = 0; i < 5; i++) {
		int n2 = input.nextInt();
		list2.add(n2);
	}
	ArrayList<Integer> list = union(list1, list2);
	System.out.print("The combined list is ");
	for (int i : list)
		System.out.print(i + " ");
}
public static ArrayList<Integer> union(ArrayList<Integer> list1, ArrayList<Integer> list2) {
	ArrayList<Integer> list = new ArrayList<>();
	list.addAll(list1);
	list.addAll(list2);
	return list;
}
//	3 5 45 4 3
//	33 51 5 4 13

}

11.15

这里的网站没搜到,看题目这个题可能涉及二维数组,求面积,应该按照面积公式来做的话,应该很简单。

11.16

import java.util.ArrayList;
import java.util.Scanner;

public class dishiyizhang {

public static void main(String[] args) {
	int number1 = (int) (Math.random() * 10);
	int number2 = (int) (Math.random() * 10);
	Scanner input = new Scanner(System.in);
	System.out.print("What is " + number1 + " + " + number2 + "? ");
	int answer = input.nextInt();
	ArrayList<Integer> list = new ArrayList<>();
	while (number1 + number2 != answer) {
		while (list.contains(answer)) {
			System.out.println("You already entered " + answer);
			break;
		}
		System.out.print("Wrong answer.try again. What is " + number1 + " + " + number2 + "? ");
		list.add(answer);
		answer = input.nextInt();
	}
	System.out.println("You got it!");
}

}

11.17

import java.util.ArrayList;
import java.util.Scanner;

public class dishiyizhang {

public static void main(String[] args) {
	Scanner input = new Scanner(System.in);
	System.out.print("Enter an integer m: ");
	int m = input.nextInt();
	int m1 = m;
	ArrayList<Integer> list = new ArrayList<>();
	while (m != 1) {
		for (int i = 2; i <= m; i++) {
			if (m % i == 0) {
				list.add(i);
				m /= i;
				break;
			}
		}
	}
	int n = 1;
	int n1 = 1;
	for (int i : list) {
		if (square(list, i) % 2 == 1 && i != n1) {
			n *= i;
			n1 = i;
		}
	}
	System.out.println("The smallest number n for m*n to be a perfect square is " + n);
	System.out.println("m * n is " + m1 * n);
}
public static int square(ArrayList<Integer> list, int n) {
	int count = 0;
	for (int i : list) {
		if (i == n)
			count++;
	}
	return count;
}

}

11.18

import java.util.ArrayList;

public class dishiyizhang {

public static void main(String[] args) {
	ArrayList<Character> list = toCharacterArray("abc");
	for(int i : list)
		System.out.println((char)i);
}
public static ArrayList<Character> toCharacterArray(String s){
    ArrayList<Character> list = new ArrayList<>();
    for(int i=0;i<s.length();i++)
        list.add(s.charAt(i));
    return list;
}

}

11.19

import java.util.ArrayList;
import java.util.Scanner;

public class dishiyizhang {

public static void main(String[] args) {
	ArrayList<Container> list = new ArrayList<>();
	list.add(new Container());
	System.out.print("Enter the number of the objects: ");
	Scanner input = new Scanner(System.in);
	int num = input.nextInt();
	System.out.print("Enter the weights of the objects: ");
	for (int i = 0; i < num; i++) {
		double n = input.nextDouble();
		boolean in = false;
		for (Container list2 : list) {
			if (list2.w >= n) {
				list2.list.add(n);
				list2.w -= n;
				in = true;
				break;
			}
		}
		if (!in) {
		Container list3 = new Container();
		list3.w -= n;
		list3.list.add(n);
		list.add(list3);
		}
	}
	int index = 1;
	for (Container list4 : list) {
		System.out.print("Container " + index + " contains objects with weight ");
		index++;
		for (double i : list4.list)
			System.out.printf("%.0f ", i);
		System.out.println();
	}
}

}

class Container {

public double w = 10;
public ArrayList<Double> list;
public Container() {
	list = new ArrayList<>();
}

}

第十一章习题 完

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xupengboo

你的鼓励将是我创作最大的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值