我是新来的Java和编程,所以如果这个问题对你来说是痛苦的明显,我提前道歉。如何设置打印输出等于Java中的变量?
我想要做的是将一行的打印输出设置为等于一个变量,以便我可以使用该变量来添加或减去.3,取决于“ - ”还是“+”号是否为在输入中键入。
编辑:
import java.util.*;
public class HomeworkCalculator {
public static void main(String[]args)
{
Scanner in = new Scanner(System.in);
String grade, letter1, letter2;
System.out.print("Enter a letter grade: ");
grade = in.nextLine();
letter1 = grade.substring(0,1);
letter2 = grade.substring(1,2);
double gpa = 0;
if (letter1.equals("A"))
gpa = 3.9;
else if(letter1.equals("B"))
gpa = 3.0;
else if(letter1.equals("C"))
gpa = 2.1;
else if(letter1.equals("D"))
gpa = 1.2;
else if(letter1.equals("F"))
gpa = 0;
System.out.println(gpa);
if(letter2.equals("+")) {
System.out.println(gpa + 0.3);
}
else if(letter2.equals("-")) {
System.out.println(gpa - 0.3);
}}}
所以,现在的问题是,如果我只需要输入一个字母A,B,C,d,F它给了我一个错误。很显然,我希望这个节目接受除单字母等级来拖欠的“A +”输入到不高于4.0,并使其所以像F +输入或F-返回0相同的GPA就像等级F.我可能会鬼混更多的if/else语句和逻辑运算符..:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out
of range
at java.lang.String.substring(String.java:1907)
at HomeworkCalculator.main(HomeworkCalculator.java:10)
此代码是合法的(除了开头的'其他if'必须是早期的“if”的一部分)。无论你想要什么,我都看不出来。您可能错误地检查了一个变量('plusMinusSign')用于'+',另一个变量('letter')用于'-'。 – ajb
你可以检查输入的输入是否包含+或 - 当if语句包含+或其他时,如果它包含 - – WonderWorld
不要抱歉。首先要清楚。 (记住,除了你以外没有人知道你在说什么你的术语的具体含义域的背景下,也没有)。 – Stewart