输入一组数字,以逗号分隔,然后可选择升或者降序对其排序

这篇博客分享了一道笔试题的解决方案,涉及将一组以逗号分隔的数字进行升序或降序排序。作者提供了代码实现,允许用户通过输入'A'或'D'来选择排序方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一道笔试题,在网上也看到一些人解答的,总感觉不好,今天我就花了一点时间整理了一下,在这里分享一下,如有什么地方不正确的地方还需多多指出!

题目要求:输入一组数字,以逗号分隔,然后可选择升或者降序对其排序,这里我将根据用户输入按键A、D进行升、降序操作

下面贴出代码:

package com.interview.test;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
/**
 * 现在输入一组数字,以逗号分开;然后按可选择的A升或者D降序进行排序
 * 注:这里的排序是采用TreeSet,所以没有重复的,如果输入重复的数字只算一个数字
 * @author Administrator
 *
 */
public class ByCommaSort {
	public static void main(String[] args) throws Exception{
		System.out.println("请您输入一组数字,以‘,’分隔:");
		String str = new BufferedReader(new InputStreamReader(System.in)).readLine();
		System.out.println("选择排序方式A:升序,D:降序");
		int c = new BufferedReader(new InputStreamReader(System.in)).read();
		
		sort(str,c);
	}
	/**
	 * 排序
	 * @param str 排序字符串
	 * @param c A升序 D降序
	 */
	private static void sort(String str,int c) {
		str = str.replaceAll("\\D+", ",");//如:提取df67中67 
		TreeSet<Inte
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值