有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中如何在setter中放入char

我想做一个计算器,所以我有这个计算器。java和CalculatorTest。java使用setter和getter

public class Calculator {
  
    private int a;
  
    public int getA() {
      return a;
    }
    
    public void setA(int calcOneA) {
       this.a = calcOneA;
    }
  
    private int b;
    
    public int getB() {
      return b;
    }
    
    public void setB(int calcOneB) {
       this.b = calcOneB;
    }
        
    private char sign;
  
    public char getSign() {
      return sign;
    }
    
    public void setSign(char calcOneSign) {
        this.sign = calcOneSign;     
    }
}
import java.util.Scanner;

public class CalculatorTest {

    public static void main(String[] args) {
        Calculator calcOne = new Calculator();
        Scanner scanner = new Scanner(System.in);
        System.out.println("Введите первое число");
        calcOne.setA(scanner.nextInt());
        System.out.println("Введите знак математической операции");
        calcOne.setSign(nextLine());
        System.out.println("Введите второе число");
        calcOne.setB(scanner.nextInt());
      }
}

我不知道如何把数学符号放进calcOne.setSign()。我试过nextLine(),但它说找不到符号


共 (2) 个答案

  1. # 1 楼答案

    nextLine()返回一个字符串,因此必须提取第一个字符:

    String s = scanner.nextLine();
    // check that s has one and only one character.
    calcOne.setSign(s.charAt(0));
    
  2. # 2 楼答案

    你的问题不是二传手

    例如,您可以自己调用calcOne.setSign('a');

    现在,为了重现用户输入,您需要修复扫描仪的使用,例如

    calcOne.setSign(scanner.nextLine().charAt(0));
    

    但是,如果您正在键入类似2 + 2的内容,+被称为运算符,并且它并不总是字符串中的特定索引(如果您在自己的行中键入,则可以)