LabWork02: Лабораторная сдана

This commit is contained in:
Safgerd 2023-03-07 09:20:17 +04:00
parent eada9f3c88
commit 809e593a86
5 changed files with 31 additions and 82 deletions

View File

@ -11,45 +11,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
//@RequestMapping("/lab1")
public class LabworkApplication {
//инимум 4 операции разные интерфейс с дженерик использ сервис
//2 3 реализации с разными данными
//писать контроллеры и делать интерфейс
//озвращ свой тип данных обджект
// написать набор тестов для кажд метода 12 тестов
//создать интерфейс 4 метода реализ какие то операц над данными
//написать 2-3 реализации
//каждая соответственно делает то что мы хотим с данными (реализ строка число)
//потом пишем сервис (можно из примера) из поиска берем нужную реализацию и делаем действия
//пишем констролер чтоб извне...
//пишем интерфес на жабе
//и написать тесты для каждого метода чтобы все проверить
public static void main(String[] args) {
SpringApplication.run(LabworkApplication.class, args);
}
/*@GetMapping("/sum")
public int sum( @RequestParam(value = "num1", defaultValue = "0") int num1,
@RequestParam(value = "num2", defaultValue = "0") int num2)
{
return num1 + num2;
}
@GetMapping("/sub")
public int sub( @RequestParam(value = "num1", defaultValue = "0") int num1,
@RequestParam(value = "num2", defaultValue = "0") int num2)
{
return num1 - num2;
}
@GetMapping("/mul")
public int mul( @RequestParam(value = "num1", defaultValue = "0") int num1,
@RequestParam(value = "num2", defaultValue = "0") int num2)
{
return num1 * num2;
}
@GetMapping("/div")
public int div( @RequestParam(value = "num1", defaultValue = "0") int num1,
@RequestParam(value = "num2", defaultValue = "0") int num2)
{
return num1 / num2;
}*/
}

View File

@ -3,9 +3,9 @@ package ru.ulstu.is.labwork.calculator.domain;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
public interface Calculator {
Object sum(Object val1, Object val2);
Object sub(Object val1, Object val2);
Object mul(Object val1, Object val2);
Object div(Object val1, Object val2);
public interface Calculator<T> {
T sum(T val1, T val2);
T sub(T val1, T val2);
T mul(T val1, T val2);
T div(T val1, T val2);
}

View File

@ -1,36 +1,23 @@
package ru.ulstu.is.labwork.calculator.domain;
public class CalculatorInt implements Calculator{
public class CalculatorInt implements Calculator<Integer>{
@Override
public Object sum(Object val1, Object val2) {
if (val1 instanceof Integer && val2 instanceof Integer){
return (Integer)val1 + (Integer)val2;
}
return 0;
public Integer sum(Integer val1, Integer val2) {
return val1 + val2;
}
@Override
public Object sub(Object val1, Object val2) {
if (val1 instanceof Integer && val2 instanceof Integer){
return (Integer)val1 - (Integer)val2;
}
return 0;
public Integer sub(Integer val1, Integer val2) {
return val1 - val2;
}
@Override
public Object mul(Object val1, Object val2) {
if (val1 instanceof Integer && val2 instanceof Integer){
return (Integer)val1 * (Integer)val2;
}
return 0;
public Integer mul(Integer val1, Integer val2) {
return val1 * val2;
}
@Override
public Object div(Object val1, Object val2) {
if (val1 instanceof Integer && val2 instanceof Integer){
return (Integer)val1 / (Integer)val2;
}
return 0;
public Integer div(Integer val1, Integer val2) {
return val1 / val2;
}
}

View File

@ -1,23 +1,23 @@
package ru.ulstu.is.labwork.calculator.domain;
public class CalculatorString implements Calculator{
public class CalculatorString implements Calculator<String>{
@Override
public Object sum(Object val1, Object val2) {
return (String)val1 + '+' + (String)val2;
public String sum(String val1, String val2) {
return val1 + '+' + val2;
}
@Override
public Object sub(Object val1, Object val2) {
return (String)val1 + '-' + (String)val2;
public String sub(String val1, String val2) {
return val1 + '-' + val2;
}
@Override
public Object mul(Object val1, Object val2) {
return (String)val1 + '*' + (String)val2;
public String mul(String val1, String val2) {
return val1 + '*' + val2;
}
@Override
public Object div(Object val1, Object val2) {
return (String)val1 + '/' + (String)val2;
public String div(String val1, String val2) {
return val1 + '/' + val2;
}
}

View File

@ -14,10 +14,10 @@ public class CalculatorService {
public Object sum(Object val1, Object val2, String type){
final Calculator calculator = (Calculator) applicationContext.getBean(type);
if (type.compareTo("inttype") == 0){
if ("inttype".equals(type)){
return calculator.sum(Integer.parseInt(val1.toString()), Integer.parseInt(val2.toString()));
}
else if (type.compareTo("stringtype") == 0) {
else if ("stringtype".equals(type)) {
return String.format("%s", calculator.sum(val1.toString(), val2.toString()));
}
return null;
@ -25,30 +25,30 @@ public class CalculatorService {
public Object sub(Object val1, Object val2, String type){
final Calculator calculator = (Calculator) applicationContext.getBean(type);
if (type.compareTo("inttype") == 0){
if ("inttype".equals(type)){
return calculator.sub(Integer.parseInt(val1.toString()), Integer.parseInt(val2.toString()));
}
else if (type.compareTo("stringtype") == 0) {
else if ("stringtype".equals(type)) {
return String.format("%s", calculator.sub(val1.toString(), val2.toString()));
}
return null;
}
public Object mul(Object val1, Object val2, String type){
final Calculator calculator = (Calculator) applicationContext.getBean(type);
if (type.compareTo("inttype") == 0){
if ("inttype".equals(type)){
return calculator.mul(Integer.parseInt(val1.toString()), Integer.parseInt(val2.toString()));
}
else if (type.compareTo("stringtype") == 0) {
else if ("stringtype".equals(type)) {
return String.format("%s", calculator.mul(val1.toString(), val2.toString()));
}
return null;
}
public Object div(Object val1, Object val2, String type){
final Calculator calculator = (Calculator) applicationContext.getBean(type);
if (type.compareTo("inttype") == 0){
if ("inttype".equals(type)){
return calculator.div(Integer.parseInt(val1.toString()), Integer.parseInt(val2.toString()));
}
else if (type.compareTo("stringtype") == 0) {
else if ("stringtype".equals(type)) {
return String.format("%s", calculator.div(val1.toString(), val2.toString()));
}
return null;