Java南阳OJ-ASCII码排序
2017-02-03 19:49
148 查看
import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n = sc.nextInt(); while(n-->0){ String st = sc.next(); char ch[]= new char[3]; ch[0] = st.charAt(0); ch[1] = st.charAt(1); ch[2] = st.charAt(2); ch = sort(ch); for(int i=0;i<3;i++){ if(i==2){ System.out.println(ch[2]); }else{ System.out.print(ch[i]+" "); } } } } //插入排序 public static char[] sort(char[] ch){ int i = 1; for (;i<3;i++){ char key = ch[i]; if(ch[i]<ch[i-1]){ int j = i-1; while(j>=0&&key<ch[j]) j--; for(int k=i;k>j+1;k--) ch[k]=ch[k-1]; ch[j+1]=key; } } return ch; } }
1.
String st = sc.next();
若改为sc.nextLine()则会报Unknown source的错误
2.
System.out.print(ch[i]+" ");
不是‘ ’,否则当成字符空格处理,和ch[i]相加,最终只输出一个字符
3.
public static char[] sort(char[] ch)
main方法是static的就只能调用static方法,所以sort()需要是static的
4.
while(j>=0&&key<ch[j]) j--;
必须要加上
j>=0的条件,否则出现越界,而且必须是
j>=0&&key<ch[j]不能是
key<ch[i]&&j>=0表达式的执行是有顺序的
相关文章推荐
- 南阳oj 题目4 ASCII码排序
- 杭电oj(java)——2000 ASCII码排序
- OJ中java,C++输入输出重定向的方法
- 基于Java的OJ(Onlie Judge)实践
- 南阳ACM4-ASCII码排序
- 贪心法 区间选点问题 南阳oj 找点
- 九度OJ 1207 质因数的个数 JAVA
- 九度OJ 1087 约数的个数 JAVA
- 南阳理工OJ_ASCII码排序
- 南阳oj 九九乘法表 时间限制:1000 ms | 内存限制:65535 KB 难度:1
- 贪心法 南阳oj 背包问题
- 基于java的ACM online judge(OJ)在线判题系统实现
- 南阳OJ-214-最长子序列-二分查找给力啊哈哈
- OJ题目JAVA与C运行效率对比
- 南阳OJ76
- 南阳OJ 116-士兵杀敌(二)
- USTCOJ1308 全排列 JAVA读入模板
- 南阳oj-29(求转置矩阵问题)解题报告
- 南阳-4-ASCII码排序
- JAVA中在OJ上怎么实现多组输入