Java-出租-pat

下面是新浪微博上曾经很火的一张图:

输入格式:

输入在一行中给出一个由11位数字组成的手机号码。

输出格式:

为输入的号码生成代码的前两行,其中arr中的数字必须按递减顺序给出。

输入样例:

18013820100

输出样例:

int[] arr = new int[]{8,3,2,1,0};
int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};



并不知道为什么后面要加上   “”

但是不加的话

答案是错误的

现在属于基础薄弱阶段   虽然算法会一点  但是绝大部分知识点都不记得     现在阶段有一本thinking in Java  还有相关马士兵的教学视频   如果我要学习  该怎么安排时间

而且我每天不能在这上面花费太多时间    自己先想想该怎么解决这个问题 


import java.util.ArrayList;
import java.util.Collections;          //Collections提供方法对List进行排序操作
import java.util.Scanner;
public class Main {
 /**
  * @param args
  */
 
 public static void main(String[] args) {


  Scanner sc = new Scanner(System.in);
  ArrayList<Integer> arr = new ArrayList<Integer>();
  String s = sc.nextLine();  
  
  for (int i = 0;i<s.length();i++)
  {
   if (!arr.contains(Integer.valueOf(s.charAt(i)+"" ))){    //s.charAt(i);得到字符串i位置的值,
    arr.add(Integer.valueOf(s.charAt(i)+"" ));           //Integer.valueOf(); 转换char类型为数字
   }
  }
  
  Collections.sort(arr);   //排序
  Collections.reverse(arr);   //翻转
  
  System.out.print("int[] arr = new int[]{");
  for (int i = 0;i<arr.size();i++)
  {
   if (i == 0)
    System.out.print(arr.get(i)+"");
   else
    System.out.print(","+arr.get(i)+"");
   
  }
  System.out.println("};");
  
  System.out.print("int[] index = new int[]{");
  for (int i = 0;i<s.length();i++)
  {
   if (i == 0)
    System.out.print(arr.indexOf(Integer.valueOf(s.charAt(i)+"" )));   //indexof 数组中元素的位置
   else
    System.out.print(","+arr.indexOf(Integer.valueOf(s.charAt(i)+"" )));
  }
  System.out.println("};");
 }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值