java_读入数据的方式(数组和列表实现例子)

/*

  • .从键盘输⼊多个字符串,对这些字符串按字典序排序。输入格式有两种:
    格式一:输入字符串在一行,中间用空格隔开,如:
    could not find or load main class hadoop

格式二:每行输入一个字符串,最后用-1表示输入结束,如:
could
not
find
or
load
main
class
Hadoop
-1
用数组、ArrayList实现均可。排序可以使用Collections.sort(List
list)方法对List进行排序;*/

/*参考读入数据的方法:
JAVA读入一行空格隔开的数据
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
//对读入的那一整行在作split()操作
String ss[] = s.split(" ");
for (String x : ss) {
System.out.println(x);
}
}
}
*/
public class Sort {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//String[] aString = new String[100];
String tmp = sc.nextLine();/*读入数据行到缓冲字符串区中*/
String[] aString = tmp.split(" ");/*tmp.split(" ")将产生一系列的元素,装入数组aString,数组的大小为split后产生的元素数目*/
/*使用增强型for查看是否成功split*/
/* for (String i : aString) {
System.out.println(i);
}*/
//Arrays.stream(aString).sorted();
Arrays.sort(aString);
for (String i : aString) System.out.println(i);
}
}
package experiment4.exp1;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
import java.util.List;
public class SortEachLine {
public static void main(String [] args){
/*建议列表来操作(往往使用泛型列表)<>*/
List<String> list=new ArrayList<>();
Scanner sc = new Scanner(System.in);
/*
for(int i = 0; !aString[i].equals("-1"); i++);
Cannot invoke "String.equals(Object)" because "aString[i]" is null
at SortEachLine.main(SortEachLine.java:10)
*/
//System.out.println("enter data:");
boolean b;
/* */ do{
String tmp=sc.nextLine();
if(!tmp.equals("-1")){
list.add(tmp);
}
else
break;
}while (true);
/* //不知为何,用for总是会陷入死循环
for(int i = 0; !"-1".equals(aString[i]); i++){
System.out.println("enter a data:");
aString[i]=sc.nextLine();
}*/
/*使用大小不刚好的数组的话,在使用sort方法的时候出现错误:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.lang.Comparable.compareTo(Object)" because "a[runHi]" is null
at java.base/java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:320)
at java.base/java.util.ComparableTimSort.sort(ComparableTimSort.java:202)
at java.base/java.util.Arrays.sort(Arrays.java:1040)
at SortEachLine.main(SortEachLine.java:27)*/
Collections.sort( list);
System.out.println(list);
/* 迭代逐行输出列表中元素;
for(String x:list){
System.out.println(x);
}*/
}
}
posted @   xuchaoxin1375  阅读(10)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2023-07-06 django_DRF_学习方式之框架源码自学:案例:重写ModelViewSet下的list方法,并保持分页特性
2022-07-06 java_regex提取文本中的所有小数
2021-07-06 web_web参考手册/web参考文档
点击右上角即可分享
微信分享提示