java 初学者求助一道问题

Write a program that translates a letter grade into a number grade. Letter grades areA, B, C, D, and F, possibly followed by + or –. Their numeric values are 4, 3, 2, 1, and0. There is no F+ or F–. A + increases the numeric value by 0.3, a – decreases it by 0.3.However, an A+ has value 4.0.Enter a letter grade: B-The numeric value is 2.7.

package org.test;

import java.util.Scanner;

public class MyTest {

/*
 * Write a program that translates a letter grade into a number grade.
 * Letter grades are A, B, C, D, and F, possibly followed by + or –. Their
 * numeric values are 4, 3, 2, 1, and 0. There is no F+ or F–. A + increases
 * the numeric value by 0.3, a – decreases it by 0.3.However, an A+ has
 * value 4.0. Enter a letter grade: B-The numeric value is 2.7.
 */
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String grade = sc.next().trim();

int sign = 0;

if (grade.indexOf("+") == 1) {
sign = 1;
} else if (grade.indexOf("-") == 1) {
sign = -1;
}

grade = grade.replace("+", "").replace("-", "");

if (grade.length() > 1) {
System.out.println("Input error!");
return;
}

double num = 0;

if (grade.endsWith("A")) {
num = 4;
} else if (grade.endsWith("B")) {
num = 3;
} else if (grade.endsWith("C")) {
num = 2;
} else if (grade.endsWith("D")) {
num = 1;
} else if (grade.endsWith("F")) {

if (sign != 0) {
System.out.println("Input error!");
return;
}
num = 0;
} else {
System.out.println("Input error!");
}

if (sign > 0) {
if (num < 4) {
num += 0.3;
}
} else if (sign == 0) {

} else {
if (num >= 1) {
num -= 0.3;
}
}

System.out.println(num);
}
}

温馨提示:内容为网友见解,仅供参考
无其他回答

java语言初学者求助设置环境变量中遇到的难题。
方法一:依次点击:“我的电脑”-(右键)“属性”-“高级”-“环境变量”,弹出Windows的“环境变量”配置卡。在“系统变量”栏下执行三项操作:①新建“Classpath”(如果已有,则直接编辑),设置其值为 .;JDK所在的绝对路径值\\lib (例如 .;D:\\Program Files\\Java\\jdk1.5.0_04)(若值中原来有...

求助一道C语言设计题目
include <stdio.h>int main(){ int year,n=0; for( year=1;year<=3000;year++ ) { if ( (year%4==0 && year%100!=0) || year%400==0 ) n++; } printf("n=%d\\n", n ); return 0;}

相似回答