#java #addition
#ява #дополнение #java #добавление
Вопрос:
Я пишу код для добавления 2 чисел из двух текстовых полей и отображения суммы в третьем текстовом поле. Однако, когда я устанавливаю в третьем текстовом поле значение Z, которое является суммой, я получаю сообщение об ошибке «не удается найти символ». Что я делаю не так?
import javax.swing.*;
import java.awt.event.*;
public class A implements ActionListener{
JTextField tf1,tf2,tf3;
JButton b1;
A(){
JFrame f= new JFrame();
JLabel myLabel= new JLabel("Enter First Value");
myLabel.setBounds(50,50,150,20);
tf1=new JTextField();
tf1.setBounds(50,75,250,20);
JLabel mysecondLabel= new JLabel("Enter Second Value");
mysecondLabel.setBounds(50,125,150,20);
tf2=new JTextField();
tf2.setBounds(50,150,250,20);
tf3=new JTextField();
tf3.setBounds(160,225,140,20);
tf3.setEditable(false);
b1=new JButton("Sum");
b1.setBounds(50,225,95,20);
b1.addActionListener(this);
f.add(tf1);f.add(myLabel);f.add(tf2);f.add(mysecondLabel);f.add(tf3);f.add(b1);
f.setSize(300,300);
f.setLayout(null);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String s1=tf1.getText();
String s2=tf2.getText();
if(e.getSource()!=b1){
return;
}
int x = Integer.parseInt(s1);
int y = Integer.parseInt(s2);
String result = B.Z;
tf3.setText(result);
} public static void main(String[] args) {
new A();
}
}
import javax.swing.*;
import java.awt.event.*;
public class B {
public static int myMethod(int x, int y) {
int Z;
Z = x y;
return Z;
}
}
Ответ №1:
В вашем B
классе нет статического поля с именем, Z
к которому вы можете получить доступ, вызвав B.Z
. Вы не вызываете myMethod(x, y);
. Попробуйте String result = String.valueOf(B.myMethod(x, y));
и посмотрите, работает ли это.
Комментарии:
1. Привет, спасибо за ответ. Я пробовал это, однако теперь я получаю ошибку «несовместимые типы: int не может быть преобразован в строку».
2. Ну, да. Ваш
myMethod()
метод возвращает значение int. Вам нужно преобразовать ее в строку, прежде чем вы сможете назначить ееresult
. Дайте мне минуту, чтобы отредактировать мой ответ, чтобы учесть это.3. Превосходно. В этом случае, пожалуйста, отметьте мой ответ как принятый, чтобы другие люди с той же проблемой, которые столкнулись с вашим вопросом, могли увидеть, как ее решить. Спасибо.