总结:几个函数的使用

(1)  int num=Integer.parseInt(str[0]); //将第一个字符串转成整形数,表示名字个数

(2) String string1=str[i].toLowerCase(); //变小写都

(3)  char ch[]=string1.toCharArray(); //将每一个字符串转成相印的字符数组

(4)  String st=Integer.toString( num1[p]); //将int型转换成字符串型

(5)   算法层面:计算出每个名字字母出现的个数,排序后,直接按照排序后的计数进行计算就行了,计数最多的是26,一次递减就行了

描述

给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。
给出多个名字,计算每个名字最大可能的“漂亮度”。

知识点 字符串
运行时间限制 0M
内存限制 0
输入

整数N,后续N个名字

N个字符串,每个表示一个名字

输出

每个名称可能的最大漂亮程度

样例输入 2 zhangsan lisi
样例输出 192 101

个人电脑测试版本:

package huawei4;
import java.util.Scanner;
public class Beautiful {
public static void main(String[] args){
System.out.println("请输入样例:");
Scanner scStr=new Scanner(System.in);
String in=scStr.nextLine();
String str[]=in.split(" "); //存起来,空格分割;
int num=Integer.parseInt(str[0]); //将第一个字符串转成整形数,表示名字个数 int num1[]=new int[num]; //存放每一个名字的漂亮度
for(int i=1;i<=num;i++) {
int tmp[]=new int[26]; //存放每个名字26个字母分别出现的个数
String string1=str[i].toLowerCase(); //变小写都
char ch[]=string1.toCharArray(); //将每一个字符串转成相印的字符数组
for(int j=0;j<str[i].length();j++){ // 统计个数
int k=ch[j]-'a';
if((k>=0)&&(k<=26)){
tmp[k]++; //如果在这个范围内加1;
}
}
//冒泡对tmp
int tmp2;
for(int p=tmp.length-1;p>0;p--){
for(int q=0;q<p;q++){
if(tmp[q+1]<tmp[q]){
tmp2=tmp[q];
tmp[q]=tmp[q+1];
tmp[q+1]=tmp2;
}
}
}
//不需要在计算每个字母了,直接遍历字母个数
for(int k=0;k<tmp.length;k++) {
num1[i-1]=num1[i-1]+tmp[k]*(26+k-25); //如果在这个范围内加1;
}
}
StringBuffer tt=new StringBuffer();
for(int p=0;p<num;p++){
String st=Integer.toString( num1[p]); //将int型转换成字符串型
tt.append(st);
if(p!=num-1)
tt.append(" "); //空格,如果不是最后一个名字
}
System.out.print(tt);
// for(int p=0;p<num;p++){
// System.out.println(num1[p]);
// } }
}

华为在线OJ版本:

华为测试注意事项:

1、字符串输入的时候一定要用next(),不要使用nextLine();区别是next()可以以空格和enter键当作 分界线

     试验后发现next()方法是以换行或者空格符为分界线接收下一个String类型变量。

2、输出的时候多行输出的时候换行输出,不要在一行输出,如果一定在一行输出,考虑用print,不要用println

别人的说明:Java的使用Scanner的next()不要用nextline(),再将结果换行输出,应该就可以了;顶,真的就是这个问题

package huawei4;

import java.util.Scanner;
public class Beautiful{
public static void main(String[] args){ Scanner scStr=new Scanner(System.in);
int num=scStr.nextInt(); //名字个数
String name[]=new String[num]; //定义一个字符串数组
for(int k=0;k<num;k++){
name[k]=scStr.next(); //
}
int num1[]=new int[num]; //存放每一个名字的漂亮度
for(int i=0;i<num;i++) {
int tmp[]=new int[26]; //存放每个名字26个字母分别出现的个数
// String string1=str[i].toLowerCase(); //变小写都
char ch[]=name[i].toCharArray(); //将每一个字符串转成相印的字符数组
for(int j=0;j<name[i].length();j++){ // 统计个数
int k=0;
if(ch[j]>='a'&&ch[j]<='z'){
k=ch[j]-'a';
}
else
k=ch[j]-'A';
if((k>=0)&&(k<=26)){
tmp[k]++; //如果在这个范围内加1;
}
}
//冒泡对tmp
int tmp2;
for(int p=tmp.length-1;p>0;p--){
for(int q=0;q<p;q++){
if(tmp[q+1]<tmp[q]){
tmp2=tmp[q];
tmp[q]=tmp[q+1];
tmp[q+1]=tmp2;
}
}
}
//不需要在计算每个字母了,直接遍历字母个数
for(int k=0;k<tmp.length;k++) {
num1[i]=num1[i]+tmp[k]*(26+k-25); //如果在这个范围内加1;
}
}
for(int p=0;p<num;p++){
System.out.println(num1[p]);
} }
}

HW--漂亮度2(测试通过)的更多相关文章

  1. HW--漂亮度

    描述 给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和.每个字母都有一个“漂亮度”,范围在1到26之间.没有任何两个字母拥有相同的“漂亮度”.字母忽略大小 ...

  2. HashMap使用

    /* * 测试HashMap的应用,判断 */ import java.util.HashMap; public class HuaWeiTest { private static final Int ...

  3. 使用 CXF 做 webservice 简单例子

    Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量 ...

  4. 屏幕实战效果解析:IPS/TFT/AMOLED/SLCD

    现在手机市场上,智能手机种类繁多,手机屏幕材质也是五花八门.对于一般消费者来说,一款手机是否值得购买,除了关心它的硬件参数以外,更重要的一点就是看它的屏幕.除了屏幕尺寸以外,影响着大家对该手机的第一感 ...

  5. Apache CXF 例子

    来自:http://www.cnblogs.com/frankliiu-java/articles/1641949.html Apache CXF 是一个开放源代码框架,是在Xfire 跟Celtix ...

  6. CXF之webservice

    使用 CXF 做 webservice 简单例子     Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这 ...

  7. 使用 CXF 做 webservice 简单例子[转]

    Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量 ...

  8. HDTV(1920x1080)码率和视频质量关系的研究 1 (前期准备)

    Hans Hoffmann等人在论文<Studies on the Bit Rate Requirements for a HDTV Format With 1920 x 1080 pixel ...

  9. CS61A hw01

    前不久在知乎上看到CS61A 和CS61B spring18 开课的消息.上去看了一眼,发现真的不错,所有proj hw都可以本地测试!也就是说除了没有课程成绩和官方讨论区和TA解答外,这个课完全可以 ...

随机推荐

  1. 做优步有什么旁门左道吗?No,贪小便宜会吃大亏!

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  2. 让IE浏览器支持CSS3圆角的方法

    如果要想在IE浏览器中实现圆角的效果,我们一般都会采用圆角图片的方式.用图片的话,基本就跟浏览器没有多大关系了,因为任何浏览器都支持这种方式.今天我们主要是讲解如果用CSS3样式表来实现圆角效果,值得 ...

  3. hdu 1034 Candy Sharing Game

    Candy Sharing Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  4. hdoj 1878 欧拉回路

    欧拉回路 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  5. 转载 C#中使用结构来传递多个参数

    C#中当参数超过5个时,建议用结构来传递多个参数. 示例代码如下: public struct MyStruct { public string str; public int number; } c ...

  6. 也谈SSO,一个简单实用的单点登录Demo

    关于SSO(单点登录),百度百科解释如下 : “SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要 ...

  7. 【Stage3D学习笔记续】山寨Starling(十二):总结和一些没提到的东西

    我们的山寨Starling到这里就告一段落了,不得不说这是一个非常优秀的2D框架,他的设计和架构为后来的许多框架都提供了很好的参考,比如现在正在崛起的Egret,我们的一番解读也只是窥见了Starli ...

  8. ZZTHX-Androidannotations框架联想

    我们首先来看一段代码: 在android开发中findViewById是最常用的一个方法,用来实例化页面上的控件,基本上每个控件都需要调用一次的,加入我们页面上有100个需要使用,那么findView ...

  9. dialog统一标准调用方法(内部记录)

    更新base-config.js 对话框统一为三种形式(如后期需要再添加其他方式) //对话框--确定取消 //dialogOkFun:确定函数 dialogCancelFun:取消函数 functi ...

  10. 【甘道夫】HBase基本数据操作的详细说明【完整版,精绝】

    介绍 之前具体写了一篇HBase过滤器的文章.今天把基础的表和数据相关操作补上. 本文档參考最新(截止2014年7月16日)的官方Ref Guide.Developer API编写. 全部代码均基于& ...