java 16 -16 键盘输入数据求最大值

需求:
  键盘录入多个数据,输入0时得到结果,输出最大的一个
分析:
  A:创建键盘录入
  B:由于数据个数不确定,用集合接收
  C:把键盘录入的数据放进集合中
  D:因为没学集合的排序,所以得先把集合转成数组
    public Object[] toArray() 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
    public <T> T[] toArray(T[] a) 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
  E:对数组的数据进行排序
  F:输出索引为length - 1那个数据
  G:打印,我想要再次打印出获取到的集合
    a:创建一个方法,把数组转字符串进行拼接
      返回类型:String
      参数列表:Integer xx
    b:打印时引用这个方法

 1 package cn_JDK5new;
 2
 3 import java.awt.List;
 4 import java.util.ArrayList;
 5 import java.util.Arrays;
 6 import java.util.Scanner;
 7
 8 public class ArrayLIstDemo2 {
 9
10
11 public static void main(String[] args) {
12 //创建键盘录入
13 Scanner sc = new Scanner (System.in);
14 //创建集合
15 ArrayList <Integer> list = new ArrayList<Integer>();
16
17 //把键盘录入的数据放进集合中
18 while (true){
19 System.out.println("请输入数据:");
20 int i = sc.nextInt();
21
22 if(i != 0){
23 list.add(i);
24 }
25 else{
26 break;
27 }
28 }
29 //创建数组,长度和list的一样
30 //把集合转换为数组
31 // public <T> T[] toArray(T[] a)
32 Integer[] in = new Integer[list.size()];
33 list.toArray(in);
34
35 //对数组内的数据进行排序
36 //Arrays:此类包含用来操作数组(比如排序和搜索)的各种方法。
37 Arrays.sort(in);
38
39 System.out.println("数组是:"+arraytoString(in)+"\t最大值是"+in[in.length - 1]);
40 }
41 //创建一个方法,把数组进行拼接
42 //数组转字符串进行拼接
43 public static String arraytoString(Integer[] in){
44 //要进行拼接,创建一个字符串缓冲区
45 StringBuffer sb = new StringBuffer();
46 //定义缓冲区的开头
47 sb.append("[");
48 //对数组进行遍历,拼接到字符缓冲区
49 for(int x = 0; x < in.length ;x++){
50 if( x < in.length - 1){
51 sb.append(in[x]+",");
52 }
53 else{
54 sb.append(in[x]);
55 }
56 }
57 //定义缓冲区结尾
58 sb.append("]");
59 //字符串缓冲区转为字符串,并返回
60 return sb.toString();
61 }
62 }
63
64  
时间: 2024-10-10 05:57:26

java 16 -16 键盘输入数据求最大值的相关文章

矩阵连乘 和表达式加括号求最大值

矩阵连乘核心代码1 for(int i=0;i<=n;i++) 2 m[i][j]=0; 3 for(r=1;r<n;r++) 4 for(i=1;i<=n-r;i++) 5 { 6 j=i+r; 7 m[i][j]=m[i+1][j]+p[i-1]*p[i]*p[j]; 8 s[i][j]=i; 9 for(k=i+1;k<j;k++) 10 { 11 int t=m[i][k]+m[k+1][j]+p[i-1]*p[k]*p[j]; 12 if(t<m[i][j]) 13

Java笔记(16):集合框架(02)

1.ArrayList存储字符串并遍历 1 package cn.itcast_01; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6 /* 7 * List的子类特点: 8 * ArrayList: 9 * 底层数据结构是数组,查询快,增删慢 10 * 线程不安全,效率高 11 * Vector: 12 * 底层数据结构是数组,查询快,增删慢 13 * 线程安全,效率低 14 * LinkedList: 15 *

老白的JAVA课程16 卡片布局 javaBean

基于组件的开发 javaBean 组成部件 规范   1: 必须要有一个公共的构造方法,javaBean这个类也必须是公共的   2:javaBean中的属性都是私有的,每一个属性都必须提供符合命名规范的set和get方法   3:应该是可序列化的,但是并不是必须的 类型:  1:简单属性javabean  set和get足够简单  2:绑定属性JavaBean  属性复杂,需要绑定其他属性  3:约束属性JavaBean  set和get方法有约束 cardlayout.show(父容器,按钮

java byte 16进制转换

整型转16进制: int devIdInt = Integer.parseInt(devId); String devIdString = Integer.toHexString(devIdInt); 16进制转为字节: byte devBin = (byte) Integer.parseInt(devIdString, 16); byte devBin =Integer.valueOf(devIdString, 16).byteValue(); byte devBin =Byte.parseB

Java基础16:Java多线程基础最全总结

Java基础16:Java多线程基础最全总结 Java中的线程 Java之父对线程的定义是: 线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进程所创建的对象资源(内存资源).java.lang.Thread对象负责统计和控制这种行为. 每个程序都至少拥有一个线程-即作为Java虚拟机(JVM)启动参数运行在主类main方法的线程.在Java虚拟机初始化过程中也可能启动其他的后台线程.这种线程的数目和种类因JVM的实现而异.然而所有用户级线

java求最大值以及定义方法调用

class ArrayDome { public static void main(String[] args) { int[] arr = {-12,-51,-12,-11}; int max = getMax(arr); int max_2 = getMax_2(arr); System.out.println(max); System.out.println(max_2); } //求最大值 方法一 public static int getMax(int[] arr) { int max

1138: 零起点学算法45——求最大值

1138: 零起点学算法45--求最大值 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 1691  Accepted: 879[Submit][Status][Web Board] Description 输入一些整数,求最大值 Input 多组测试数据 首先输入1个整数n表示测试组数 然后每行首先输入1个整数m,再输入m个整数 Output 对于每组测试数据输出1行,内容为m个整数的最大值 Sa

九度oj 题目1046:求最大值

题目1046:求最大值 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:11782 解决:4789 题目描述: 输入10个数,要求输出其中的最大值. 输入: 测试数据有多组,每组10个数. 输出: 对于每组输入,请输出其最大值(有回车). 样例输入: 10 22 23 152 65 79 85 96 32 1 样例输出: max=152 1 #include <iostream> 2 #include <vector> 3 #include <algorithm&g

zzuli求最大值

1786: 求最大值 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 134  Solved: 28SubmitStatusWeb Board Description 给定n个数,a[1]到a[n],请你帮忙找出a[i] - a[j]的最大值,其中1 <= i < j <= n. Input 第一行一个数T,表示一共有T组数据(T <= 20); 每组测试数据第一行一个整数n(2 <= n <= 10 ^ 5),表示接下来