java语言程序程序设计 第十一章 (11.11、11.12、11.13、11.14、11.15、11.16、11.17)
2017-10-14 21:16
495 查看
程序小白,希望和大家多交流,共同学习
import java.util.ArrayList; import java.util.Scanner; public class SortArrayList { public static void main(String [] args) { ArrayList<Integer> list = creatList(); sortList(list); System.out.println(list); } public static ArrayList<Integer> creatList() { Scanner input = new Scanner(System.in); int count = 0; System.out.print("Enter five integer: "); ArrayList<Integer> list = new ArrayList<>(); while (count < 5) { list.add(new Integer(input.nextInt())); count++; } return list; } public static void sortList(ArrayList<Integer> list) { //java.util.Collections.sort(list); for (int i = 0; i < list.size() - 1; i++) { Integer min = list.get(i); int minIndex = i; for (int j = i + 1; j < list.size(); j++) { if (list.get(j) < min) { min = list.get(j); minIndex = j; } } if (minIndex != i) { //使用get()只是返回,相当于使用下标索引 //使用set(index: int, O: E)使用 E 替换掉列表 index 位置原有的对象 list.set(minIndex, list.get(i)); list.set(i, min); } } } }
import java.util.Scanner; import java.util.ArrayList; public class SumArrayList { public static void main(String [] args) { ArrayList<Double> list = creatList(); double sum = sum(list); System.out.println("Sum = " + sum); } public static ArrayList<Double> creatList() { Scanner input = new Scanner(System.in); ArrayList<Double> list = new ArrayList<>(); int< ed46 /span> count = 0; System.out.print("Enter five double number: "); while (count < 5) { list.add(input.nextDouble()); count++; } return list; } public static double sum(ArrayList<Double> list) { double sum = 0.0; for (int i = 0; i < list.size(); i++) { sum += list.get(i); } return sum; } }
import java.util.ArrayList; import java.util.Scanner; public class NoImpurity { public static void main(String [] args) { ArrayList<Integer> list = creatList(); removeDuplicate(list); //System.out.println(list.size()); System.out.print("The distinct integers are "); for (int num : list ) { System.out.print(num + " "); } System.out.println(); } public static ArrayList<Integer> creatList() { Scanner input = new Scanner(System.in); System.out.print("Enter ten integers: "); ArrayList<Integer> list = new ArrayList<>(); int count = 0; while (count < 10) { list.add(new Integer(input.nextInt())); count++; } return list; } //先在 list 中找到去重后的所有元素,按照每种元素出现的先后顺序排列在新的列表中 //然后利用数组标记所有重复元素的位置 //最后在list中删除这些位置上的元素 public static void removeDuplicate(ArrayList<Integer> list) { ArrayList<Integer> temp = new ArrayList<>(); for (Integer element : list) { if (!temp.contains(element)) { temp.add(element); } } int[] index = new int[list.size()]; java.util.Arrays.fill(index, 0); for (int i = 0; i < temp.size(); i++) { index[list.indexOf(temp.get(i))] = 1; } // ArrayList()中的remove()会删除原来的位置,所以只能从后向前逐个删除 //重复的元素,否则下标不匹配。 for (int i = index.length - 1; i >= 0; i--) { if (index[i] == 0) { list.remove(i); } } } }
import java.util.Scanner; import java.util.ArrayList; public class CombiningTwoLists { public static void main(String [] args) { System.out.print("Enter five integers for list1: "); ArrayList<Integer> list1 = creatList(); System.out.print("Enter five inntegers for list2: "); ArrayList<Integer> list2 = creatList(); ArrayList<Integer> unionList = union(list1, list2); System.out.print("The combined list is: "); for (int num : unionList) { System.out.print(num + " "); } System.out.println(); } public static ArrayList<Integer> creatList() { Scanner input = new Scanner(System.in); ArrayList<Integer> list = new ArrayList<>(); int count = 0; while (count < 5) { list.add(input.nextInt()); count++; } return list; } public static ArrayList<Integer> union( ArrayList<Integer> list1, ArrayList<Integer> list2) { ArrayList<Integer> result = new ArrayList<>(); for (int i = 0; i < list1.size(); i++) { result.add(list1.get(i)); } for (int i = 0; i < list2.size(); i++) { //求并集要去重 if (!list2.contains(list2.get(i))) { result.add(list2.get(i)); } } return result; } }
import java.util.Scanner; import java.util.ArrayList; import javafx.geometry.Point2D; public class ConvexPolygonArea { public static void main(String [] args) { Scanner input = new Scanner(System.in); System.out.print("Enter the number of the points: "); int number = input.nextInt(); ArrayList<Point2D> points = enterPoints(number); double area = getArea(points); System.out.println(area); } public static ArrayList<Point2D> enterPoints(int number) { Scanner input = new Scanner(System.in); ArrayList<Point2D> points = new ArrayList<>(); System.out.print("Enter the coordinates of points: "); for (int i = 0; i < number; i++) { points.add(new Point2D((input.nextDouble()), (input.nextDouble()))); } return points; } public static double getArea(ArrayList<Point2D> points) { double area = 0.0; for (int i = 1; i < points.size() - 1; i++) { area += everyTriangle(points.get(0), points.get(i), points.get(i + 1)); } return area; } public static double everyTriangle(Point2D p1, Point2D p2, Point2D p3) { double s1 = p1.distance(p2); double s2 = p2.distance(p3); double s3 = p3.distance(p1); double s = (s1 + s2 + s3) / 2; //System.out.println(s1 + " " + s2 + " " + s3 + " " + s); double triangleArea = Math.sqrt(s * (s - s1) * (s - s2) * (s - s3)); //System.out.println(triangleArea); return triangleArea; } }
import java.util.ArrayList; import java.util.Scanner; public class Addition { public static void main(String [] args) { Scanner input = new Scanner(System.in); int number1 = (int)(Math.random() * 9 + 1); int number2 = (int)(Math.random() * 9 + 1); System.out.print("What is " + number1 + " + " + number2 + "? "); int answer = input.nextInt(); ArrayList<Integer> answerList = new ArrayList<>(); while (answer != (number1 + number2)) { if (answerList.contains(answer)) { System.out.println("You already enter " + answer); } else answerList.add(answer); System.out.print("Wrong answer. Try again. What is " + number1 + " + " + number2 + "? "); answer = input.nextInt(); } System.out.println("You got it."); } }
import java.util.Scanner; import java.util.Arrays; import java.util.ArrayList; import java.util.Collections; public class CompleteSquare { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter an integer m: "); int m = input.nextInt(); int n = findN(m); System.out.println("The smallest number n for m * n to be a perfect sqare is " + n); System.out.println("m * n is " + (m * n)); } public static int findN(int m) { ArrayList<Integer> list = new ArrayList<>(); int temp = m; while (temp != 1) { for (int i = 2; i <= temp; i++) { if (temp % i == 0)//找到所有的因子 { temp /= i; list.add(i); break; } } } //找到最大值创建数组,统计因子出现次数 int max = Collections.max(list); int[] count = new int[max + 1]; for (int number : list) { count[number]++; } //System.out.println(Arrays.toString(count)); int n = 1; for (int i = 0; i < max + 1; i++) { if (count[i] % 2 == 1) { n *= i; //System.out.println(i); } } //System.out.println(n); return n; } }
相关文章推荐
- C++ Primer课后练习11.3,11.4,11.7,11.8,11.11,11.12,11.13,11.14
- 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
- 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
- 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
- Java 语言程序设计基础篇原书第八版_第十二章_第八题_程序分享
- Java语言程序设计-Eclipse入门之HelloWorld程序
- Java语言程序设计-Eclipse入门之HelloWorld程序
- Java语言程序设计-Eclipse入门之Applet程序
- java语言程序设计 第十一章(11.8 11.9)
- Java语言程序设计-Eclipse入门之Servlet/JSP程序与例1-3、1-4程序
- Java语言程序设计-Eclipse入门之Applet程序
- java语言程序设计基础 第十一章 继承11.2
- Java语言程序设计-Eclipse入门之Applet程序与例1-2程序
- Java程序语言(基础篇)第2章 基本程序设计 编程练习题解答
- Java语言程序设计-Eclipse入门之Applet程序与例1-2程序
- Java程序语言(基础篇)第2章 基本程序设计 编程练习题解答
- java语言程序设计 第十一章 11.3
- Java语言程序设计-Eclipse入门之HelloWorld程序与例1-1程序
- 11.14—11.15Apache和PHP结合(上下)11.16-11.17Apache默认虚拟主机