用Java编写下面一段程序,跪求大神帮忙,在线等

假如ABCD...Z使用1234...26数字来代表,请写一个程序,给定一个单词来得到它的数字和,并以百分数形式输出.例如:如果我输入单词attitute,则程序将打印输... 假如A B C D ...Z 使用 1 2 3 4 ... 26 数字来代表, 请写
一个程序,给定一个单词来得到它的数字和,并以百分数形式输出.
例如:如果我输入单词 attitute, 则程序将打印输出:
attitude=[1+20+20+9+20+21+4+5]= 100%
[attitude]决定一切.
如果我输入单词 lovely, 则程序将打印出:
lovely=[12+15+22+5+12+25]= 91%
也就是说,只有当单词的和正好是100 时,才会输出另 一句话:[xxxx]决定
一切。
展开
 我来答
261667318
2014-08-28 · TA获得超过898个赞
知道小有建树答主
回答量:680
采纳率:100%
帮助的人:638万
展开全部
public class Test {
public static void main(String[] args) {
String str = "abcdefghijklmnopqrstuvwxyz";
List<Character> characterList = new ArrayList<Character>();
for(int i=0;i<str.length();i++){
characterList.add(str.charAt(i));//把26个字母加入到list中
}

Scanner scanner = new Scanner(System.in);
System.out.println("输入一个单词");

String word = scanner.nextLine();
scanner.close();
if(null != word && !"".equals(word)){
word = word.toLowerCase();//转换成小写
int total = 0;
StringBuffer sb = new StringBuffer(1024);
sb.append(word +"=[");
for(int i=0;i<word.length();i++){
char c = word.charAt(i);
int index = characterList.indexOf(c) + 1;//找出单词所代表的数字
total += index;
if(i == word.length() - 1){
sb.append(index);
}else{
sb.append(index + "+");
}
}
sb.append("]=").append(total + "%");
if(total == 100){
sb.append("\n").append("["+word+"]决定一切");
}

System.out.println(sb.toString());
}
}
}

cy20625134
2014-08-28
知道答主
回答量:26
采纳率:0%
帮助的人:10.5万
展开全部
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import com.cas.automation.medical.util.PDFGenerator;
/*******************************************
 * @CLASS:Test1
 * 功能:
 * @AUTHOR:cy
 * @VERSION:v1.0
 * @DATE:2014-8-28
 *******************************************/
public class Test1 {
 /**
  * @author:cuiyong
  * @return:void
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Map<String, Integer> charIntMap = new HashMap<>();
  charIntMap.put("A", 1);
  charIntMap.put("B", 2);
  charIntMap.put("C", 3);
  charIntMap.put("D", 4);
  charIntMap.put("E", 5);
  charIntMap.put("F", 6);
  charIntMap.put("G", 7);
  charIntMap.put("H", 8);
  charIntMap.put("I", 9);
  charIntMap.put("J", 10);
  charIntMap.put("K", 11);
  charIntMap.put("L", 12);
  charIntMap.put("M", 13);
  charIntMap.put("N", 14);
  charIntMap.put("O", 15);
  charIntMap.put("P", 16);
  charIntMap.put("Q", 17);
  charIntMap.put("R", 18);
  charIntMap.put("S", 19);
  charIntMap.put("T", 20);
  charIntMap.put("U", 21);
  charIntMap.put("V", 22);
  charIntMap.put("W", 23);
  charIntMap.put("X", 24);
  charIntMap.put("Y", 25);
  charIntMap.put("Z", 26);
  Scanner sc = new Scanner(System.in);
  System.out.println("输入字符串");
  String name = sc.nextLine();
  char[] chars=name.toCharArray();
  int sum=0;
  for(int i=0;i<chars.length;i++){
   String temp=String.valueOf(chars[i]).toUpperCase();
   sum+=charIntMap.get(temp);
  }
  System.out.println(sum);
 }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
713lib
2014-08-28 · TA获得超过252个赞
知道小有建树答主
回答量:280
采纳率:100%
帮助的人:175万
展开全部
  public static void tt(String str){
      String aphaString = "A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z";
      String apha[] = aphaString.split("#");
      Map<String,Integer> map = new HashMap<String,Integer>();
      for(int i=0;i<apha.length;i++){
          map.put(apha[i], i+1);
      }
      int sum = 0;
      String strtmp = str.toUpperCase();//转换成大写,保证正常匹配
      StringBuffer buf = new StringBuffer("[");
      for(int j=0;j<strtmp.length();j++){
          String ss= String.valueOf(strtmp.charAt(j));
          sum+=Integer.valueOf(map.get(ss));
          buf.append(map.get(ss)+"+");
      }
      System.out.println(str+"="+buf+"]="+sum+"%");
      if(sum==100){
          System.out.println("["+str+"]决定一切!");
      }
  }
  result:
      attitude=[1+20+20+9+20+21+4+5]=100%
      [attitude]决定一切!
      lovely=[12+15+22+5+12+25]=91%
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
澍哥好
2014-08-28 · TA获得超过386个赞
知道小有建树答主
回答量:379
采纳率:100%
帮助的人:359万
展开全部
package d;
public class Test {
public static void method(String str){
String ss=str.toUpperCase();
char arr[]=ss.toCharArray();
int sum=0;
StringBuffer sb=new StringBuffer();
sb.append("[");
for(char c:arr){
int num=c-'A'+1;
sb.append(num+"+");
sum=sum+num;
}
String s=sb.toString().substring(0, sb.toString().length()-1)+"]";
if(sum==100){
System.out.println(str+"="+s+"="+sum+"%");
System.out.println("["+str+"]"+"决定一切");
}else{
System.out.println(str+"="+s+"="+sum+"%");
}
}

public static void main (String args[]){
method("attitude");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQMSD8
2014-08-28 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

直接给你上代码,请采纳

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Test {
private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

public static int getInt(){
return Integer.parseInt(getString());
}

public static String getString(){
try {
return br.readLine();
} catch (IOException e) {
return "";
}
}

private static final char[] MODEL = "abcdefghijklmnopqrstuvwxyz".toCharArray();

public static void main(String[] args) {
System.out.print("请输入单词: ");
String dc = Input.getString();

System.out.println(Arrays.toString(MODEL));
int sum = 0;
StringBuffer sb = new StringBuffer();
sb.append(dc + "=[");
for(int i=0; i<dc.length(); i++){
int index = getIndex(dc.charAt(i));
sum += index;
if(i == dc.length() -1){
sb.append(index);
}else{
sb.append(index + "+");
}
}
if(sum == 100){
System.out.println("[" + dc + "]决定");
}else{
System.out.println(sb.toString() + "]=" + sum + "%");
}
}

public static int getIndex(Character c){
for(int i=0; i<MODEL.length; i++){
if(Character.toLowerCase(c) == MODEL[i]){
return i+1;
}
}
return 0;
}
}

运行吧,请采纳哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式