当前位置: 代码迷 >> Java相关 >> 一个很小的程序..自己编老出错..
  详细解决方案

一个很小的程序..自己编老出错..

热度:118   发布时间:2009-10-29 21:13:50.0
一个很小的程序..自己编老出错..
同学让做的,我不会java只学过C,结果看了老半天语法还是错...各位大神帮下下..应该很快的~~  谢谢啦!

用switch语句计分:
名次  分数
1      7
2      5
3      4
4      3
5      2
6      1
命令行输入名次  程序输出转换后的分值  并累计总分

import java.io.*;
public class Count
{
public static void main(String[] args)
{
   int m=0,n=0;
  do
  {
    System.out.println("请输入名次");
    try
    {
    n=(int)System.in.read();
    System.out.println(n);
    switch(n)
      {
    case 1: m=m+7;break;
    case 2: m=m+5;break;
    case 3: m=m+4;break;
    case 4: m=m+3;break;
    case 5: m=m+2;break;
    case 6: m=m+1;break;
    default:break;
       }
    }catch(IOException e){}
    System.out.println("总分为"+m);
  }while(n>0);
}
}  (自己编的..把java当C使  错得一塌糊涂....)
----------------解决方案--------------------------------------------------------
程序代码:
//仅供参考
import java.util.*;

public class Count {
    public static void main(String[] args) {
        int count = 1;
        int total=0;
        Scanner input = new Scanner(System.in);
        do {
            try{
            System.out.print("请输入第" + count + "位的分数:");
            int m = input.nextInt();
            total+=m;
            count++;
            }catch(Exception ex){
                System.out.println("输入有误,程序终止");
                break;
            }
        } while (count<=6);

        System.out.println("总分--->" + total);
    }
}

----------------解决方案--------------------------------------------------------
回复 楼主 夜de轨迹
做好了..非常感谢!
----------------解决方案--------------------------------------------------------
这里的swich语句完全可用HashMap代替,
名次(key)  分数(value)
1           7
2           5
3           4
4           3
5           2
6           1

----------------解决方案--------------------------------------------------------
import javax.swing.*;
public class Count
{
public static void main(String[] args)
{
      int m=0,n=0;
      System.out.println("请输入名次");
    do
      {
      //Enter the value of n
      String nStr=JOptionPane.showInputDialog("Enter the value of n");//n=(int)System.in.read();
      //Convert string to integer
      n=Integer.parseInt(nStr);
    System.out.println(n);
    switch(n)
      {
    case 1: m=m+7;break;
    case 2: m=m+5;break;
    case 3: m=m+4;break;
    case 4: m=m+3;break;
    case 5: m=m+2;break;
    case 6: m=m+1;break;
    default:break;
      }
        System.out.println("总分为"+m);
  }while(n>0);
}
}  /// 就这样
----------------解决方案--------------------------------------------------------
  相关解决方案