Класс клавиатурного калькулятора(javaFX)
public class FXMLCalculatorController implements Initializable {
@FXML
private TextArea t;
@FXML
private TextField e;
float[]m;
float result;
int i=-1;
int[]oper;
@FXML
private void resultButton(ActionEvent event) {
resultate();
}
@FXML
private void plus(ActionEvent event){
fb(1,"+");
}
@FXML
private void minus(ActionEvent event){
fb(2, "-");
}
@FXML
private void gPlus(ActionEvent event){
fb(3, "*");
}
@FXML
private void gMinus(ActionEvent event){
fb(4, "/");
}
@FXML
private void clean(ActionEvent event){
clean();
}
@FXML
private void keyAction(KeyEvent event){
switch(event.getText()){
case "+":
fb(1, "+");
break;
case "-":
fb(2, "-");
break;
case "*":
fb(3, "*");
break;
case "/":
fb(4, "/");
break;
case "=":
resultate();
break;
case "c":
clean();
break;
case "с":
clean();
break;
default:
break;
}
if(event.getCode().getName().equals("Enter")){
resultate();
}
if(event.getCode().getName().equals("Delete")){
clean();
}
}
@FXML
private void keyPostAction(KeyEvent event){
if(event.getText().equals("*")||event.getText().equals("/")||
event.getText().equals("c")||event.getText().equals("с")) {
e.setText("");
}
if(e.getText().contains("=")){
e.setText(e.getText().substring(1));
}
}
void resultate(){
i++;
if(i>19){
alertWindow("Угроза переполнения!","Внимание!");
return;
}
try{
m[i]=Float.parseFloat(e.getText());
}catch(NumberFormatException ex){
ex.getMessage();
i–;
e.setText("");
e.requestFocus();
return;
}
t.appendText(m[i]+"=");
switch (oper[0]){
case 1:result=m[0]+m[1];break;
case 2:result=m[0]-m[1];break;
case 3:result=m[0]*m[1];break;
case 4:result=m[0]/m[1];break;
}
for (int j=1;j<i+1;j++){
switch (oper[j]){
case 1:result+=m[j+1];break;
case 2:result-=m[j+1];break;
case 3:result*=m[j+1];break;
case 4:result/=m[j+1];break;
}
}
e.setText(result+"");
}
void fb(int n,String s){
i++;
if(i>18){
i–;
alertWindow("Угроза переполнения!","Внимание!");
return;
}
try{
m[i]=Float.parseFloat(e.getText());
|
|
}catch(NumberFormatException ex){
ex.getMessage();
i–;
e.setText("");
e.requestFocus();
return;
}
e.setText("");
e.requestFocus();
oper[i]=n;
t.appendText(m[i]+""+s);
}
void clean(){
i=-1;
result=0;
m=new float[20];
oper=new int[20];
t.setText("");
e.setText("");
e.requestFocus();
}
void alertWindow(String s,String str){
Alert alert = new Alert(AlertType.INFORMATION);
alert.setTitle(str);
alert.setHeaderText(null);
alert.setContentText(s);
alert.showAndWait();
}
@Override
public void initialize(URL url, ResourceBundle rb) {
m=new float[20];
oper=new int[20];
e.requestFocus();
}
}
Консольный калькулятор
public class CalculatorConsole {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String answer,symbol;
float num1=0,num2=0,result=0;
Scanner sc=new Scanner(System.in);
do{
System.out.println("Первое число:");
try{
num1=sc.nextFloat();
}catch(Exception e){
System.out.println("Некорректное значение");
return;
}
Scanner scSymb=new Scanner(System.in);
System.out.println("Знак:");
symbol=scSymb.nextLine();
if(!"+".equals(symbol)&&!"-".equals(symbol)&&!"*".equals(symbol)&&!"/".equals(symbol)){
System.out.println("Некорректный символ");
return;
}
System.out.println("Второе число:");
try{
num2=sc.nextFloat();
}catch(Exception e){
System.out.println("Некорректное значение");
return;
}
switch(symbol){
case "+":
result=plus(num1, num2);
break;
case "-":
result=minus(num1, num2);
break;
case "*":
result=multiPlus(num1, num2);
break;
case "/":
result=multiMinus(num1, num2);
break;
default:
break;
}
System.out.println(num1+symbol+num2+"="+result);
Scanner scAns=new Scanner(System.in);
System.out.println("Начать заново?(д/н)");
|
|
answer=scAns.nextLine();
if(!"д".equals(answer)&&!"y".equals(answer)){
System.out.println("Работа программы завершена");
return;
}
}while ("д".equals(answer)||"y".equals(answer));
}
static float plus(float a,float b){
return a+b;
}
static float multiPlus(float a,float b){
return a*b;
}
static float minus(float a,float b){
return a-b;
}
static float multiMinus(float a,float b){
return a/b;
}
}
Запуск браузера(android)
Uri wp = Uri.parse("http://www.сайт");
Intent webIntent = new Intent(Intent.ACTION_VIEW, wp);
startActivity(webIntent);
Дата добавления: 2019-02-12; просмотров: 154; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!