必须使用java生成随机数,并将随机数传递给xml变量。还需要计算它的加法

必须使用java生成随机数,并将随机数传递给xml变量。还需要计算它的加法,java,xml,Java,Xml,必须使用java生成3个随机数,并将生成的值传递给现有的xml文件变量。并且需要在xml文件中计算加法和乘法,并且需要在控制台中打印值 这里我得到了生成随机数的代码。有人能帮我吗 package test_package; import java.util.Random; public class Random_Number_Generation { public static void main(String args [] ) { Random randomGe

必须使用java生成3个随机数,并将生成的值传递给现有的xml文件变量。
并且需要在xml文件中计算加法和乘法,并且需要在控制台中打印值

这里我得到了生成随机数的代码。有人能帮我吗

package test_package;

import java.util.Random;

public class Random_Number_Generation {
    public static void main(String args [] ) {

        Random randomGenerator = new Random();
        for (int i = 1; i <= 3; i++){
            int randomInt = randomGenerator.nextInt(100);
            System.out.print("\nRandom Number is :" + randomInt); 
        }
    }
}
package-test\u-package;
导入java.util.Random;
公共类随机数生成{
公共静态void main(字符串参数[]){
Random randomGenerator=新的Random();

对于(int i=1;i,这里有一个使用jaxb创建xml的简单示例。在这个示例中,方法:

fromXml(字符串xml)
-将xml字符串解组到XMLObj

toXml(字符串xml)
-将XMLObj封送为字符串

测试类

public class RandomNumberGen
{
  public static void main(String[] args)
  {
    RandomNumberGen randomNumberGen = new RandomNumberGen();
    String xml = randomNumberGen.doTheRandomToXml();
    System.out.println("The Original Value");
    System.out.println(xml);
    xml = randomNumberGen.addAnotherRandomNumber(xml);
    System.out.println("Added Another random val ");
    System.out.println(xml);

  }

  public String doTheRandomToXml()
  {
    XMLObj xmlObj = new XMLObj();
    xmlObj.setRandomNumberOne(getRandomNumber());
    xmlObj.setRandomNumberTwo(getRandomNumber());
    xmlObj.setRandomNumberThree(getRandomNumber());

    return toXml(xmlObj);
  }

  public String addAnotherRandomNumber(String xml)
  {
    XMLObj xmlObj = fromXml(xml);
    int numberOne = xmlObj.getRandomNumberOne();
    int numberTwo = xmlObj.getRandomNumberTwo();
    int numberThree = xmlObj.getRandomNumberThree();

    CalculatedValue calculatedValue = new CalculatedValue();
    calculatedValue.setCalculatedValue(numberOne + numberTwo - numberThree);
    calculatedValue.setValue(String.format("%s + %s - %s", numberOne, numberTwo, numberThree));

    xmlObj.setCalculatedValue(calculatedValue);
    return toXml(xmlObj);
  }

  private String toXml(XMLObj obj)
  {
    StringWriter stringWriter = new StringWriter();
    try
    {
      JAXBContext jaxbContext = JAXBContext.newInstance(XMLObj.class);
      Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

      jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
      jaxbMarshaller.marshal(obj, stringWriter);

    }
    catch (JAXBException e)
    {
      e.printStackTrace();
    }
    return stringWriter.toString();
  }

  private XMLObj fromXml(String xml)
  {
    XMLObj xmlObj = null;
    try
    {
      StringReader reader = new StringReader(xml);
      JAXBContext jaxbContext = JAXBContext.newInstance(XMLObj.class);

      Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
      xmlObj = (XMLObj) jaxbUnmarshaller.unmarshal(reader);
    }
    catch (JAXBException e)
    {
      e.printStackTrace();
    }
    return xmlObj;
  }

  private int getRandomNumber()
  {
    int randomInt = 0;
    Random randomGenerator = new Random();
    for (int i = 1; i <= 3; i++)
    {
      randomInt = randomGenerator.nextInt(100);
    }
    return randomInt;
  }
}
@XmlRootElement(name = "xml-gen")
public class XMLObj
{
  private int number1;
  private int number2;
  private int number3;
  private CalculatedValue calculatedValue;


  public int getRandomNumberOne()
  {
    return number1;
  }

  @XmlElement
  public void setRandomNumberOne(int randomNumber1)
  {
    this.number1 = randomNumber1;
  }

  public int getRandomNumberTwo()
  {
    return number2;
  }

  @XmlElement
  public void setRandomNumberTwo(int randomNumber2)
  {
    this.number2 = randomNumber2;
  }

  public int getRandomNumberThree()
  {
    return number3;
  }

  @XmlElement
  public void setRandomNumberThree(int randomNumber3)
  {
    this.number3 = randomNumber3;
  }

  public CalculatedValue getCalculatedValue()
  {
    return calculatedValue;
  }

  public void setCalculatedValue(CalculatedValue calculatedValue)
  {
    this.calculatedValue = calculatedValue;
  }    
}
@XmlRootElement
public class CalculatedValue
{
  private int calculatedValue;
  private String calculation;

  @XmlAttribute
  public int getCalculatedValue()
  {
    return calculatedValue;
  }

  public void setCalculatedValue(int calculatedValue)
  {
    this.calculatedValue = calculatedValue;
  }

  @XmlValue
  public String getValue()
  {
    return calculation;
  }

  public void setValue(String calculation)
  {
    this.calculation = calculation;
  }
}
计算值类别

public class RandomNumberGen
{
  public static void main(String[] args)
  {
    RandomNumberGen randomNumberGen = new RandomNumberGen();
    String xml = randomNumberGen.doTheRandomToXml();
    System.out.println("The Original Value");
    System.out.println(xml);
    xml = randomNumberGen.addAnotherRandomNumber(xml);
    System.out.println("Added Another random val ");
    System.out.println(xml);

  }

  public String doTheRandomToXml()
  {
    XMLObj xmlObj = new XMLObj();
    xmlObj.setRandomNumberOne(getRandomNumber());
    xmlObj.setRandomNumberTwo(getRandomNumber());
    xmlObj.setRandomNumberThree(getRandomNumber());

    return toXml(xmlObj);
  }

  public String addAnotherRandomNumber(String xml)
  {
    XMLObj xmlObj = fromXml(xml);
    int numberOne = xmlObj.getRandomNumberOne();
    int numberTwo = xmlObj.getRandomNumberTwo();
    int numberThree = xmlObj.getRandomNumberThree();

    CalculatedValue calculatedValue = new CalculatedValue();
    calculatedValue.setCalculatedValue(numberOne + numberTwo - numberThree);
    calculatedValue.setValue(String.format("%s + %s - %s", numberOne, numberTwo, numberThree));

    xmlObj.setCalculatedValue(calculatedValue);
    return toXml(xmlObj);
  }

  private String toXml(XMLObj obj)
  {
    StringWriter stringWriter = new StringWriter();
    try
    {
      JAXBContext jaxbContext = JAXBContext.newInstance(XMLObj.class);
      Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

      jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
      jaxbMarshaller.marshal(obj, stringWriter);

    }
    catch (JAXBException e)
    {
      e.printStackTrace();
    }
    return stringWriter.toString();
  }

  private XMLObj fromXml(String xml)
  {
    XMLObj xmlObj = null;
    try
    {
      StringReader reader = new StringReader(xml);
      JAXBContext jaxbContext = JAXBContext.newInstance(XMLObj.class);

      Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
      xmlObj = (XMLObj) jaxbUnmarshaller.unmarshal(reader);
    }
    catch (JAXBException e)
    {
      e.printStackTrace();
    }
    return xmlObj;
  }

  private int getRandomNumber()
  {
    int randomInt = 0;
    Random randomGenerator = new Random();
    for (int i = 1; i <= 3; i++)
    {
      randomInt = randomGenerator.nextInt(100);
    }
    return randomInt;
  }
}
@XmlRootElement(name = "xml-gen")
public class XMLObj
{
  private int number1;
  private int number2;
  private int number3;
  private CalculatedValue calculatedValue;


  public int getRandomNumberOne()
  {
    return number1;
  }

  @XmlElement
  public void setRandomNumberOne(int randomNumber1)
  {
    this.number1 = randomNumber1;
  }

  public int getRandomNumberTwo()
  {
    return number2;
  }

  @XmlElement
  public void setRandomNumberTwo(int randomNumber2)
  {
    this.number2 = randomNumber2;
  }

  public int getRandomNumberThree()
  {
    return number3;
  }

  @XmlElement
  public void setRandomNumberThree(int randomNumber3)
  {
    this.number3 = randomNumber3;
  }

  public CalculatedValue getCalculatedValue()
  {
    return calculatedValue;
  }

  public void setCalculatedValue(CalculatedValue calculatedValue)
  {
    this.calculatedValue = calculatedValue;
  }    
}
@XmlRootElement
public class CalculatedValue
{
  private int calculatedValue;
  private String calculation;

  @XmlAttribute
  public int getCalculatedValue()
  {
    return calculatedValue;
  }

  public void setCalculatedValue(int calculatedValue)
  {
    this.calculatedValue = calculatedValue;
  }

  @XmlValue
  public String getValue()
  {
    return calculation;
  }

  public void setValue(String calculation)
  {
    this.calculation = calculation;
  }
}
输出将如下所示

The Original Value
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xml-gen>
    <randomNumberOne>51</randomNumberOne>
    <randomNumberThree>57</randomNumberThree>
    <randomNumberTwo>98</randomNumberTwo>
</xml-gen>

Added Another random Value
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xml-gen>
    <calculatedValue calculatedValue="92">51 + 98 - 57</calculatedValue>
    <randomNumberOne>51</randomNumberOne>
    <randomNumberThree>57</randomNumberThree>
    <randomNumberTwo>98</randomNumberTwo>
</xml-gen>
原始值
51
57
98
添加了另一个随机值
51 + 98 - 57
51
57
98

你需要什么帮助?我想你需要对XML做些什么?@Naman gala我需要上面的代码。你能帮忙吗?谢谢你的帮助,这段代码对我很有用。我想增强这段代码,就像XML文件已经存在一样。在这段代码中应该有3个变量。我必须生成3个随机数,并且需要将随机值传递给XML变量。Also计算应该在xml文件中进行。您能在这方面帮助我吗?xml是一个字符串,因此您不能在xml中计算,但是您可以更改
getRandomNumber()的getter
调用您的随机数生成器方法。计算也应在xml文件中进行。您对此有要求吗,我认为这是HOMEWRK?1。要求类似于将有3个字段,随机生成的值必须通过使用java语言的测试自动化工具输入字段。基于这3个变量lues第四个字段将填充/计算值(如加法、乘法)我们必须在XML文件中定义变量和公式,该文件已存在于项目根文件夹中。2.使用Testng可以在XML中进行计算?我不理解这一要求…我们必须在XML文件中定义变量和公式,该文件已存在于项目根文件夹中,您刚刚看到了吗需要在xml中显示第四个值是如何计算的?是的,我们必须显示计算的值。因为这是违反知识产权的,我不能在这里分享这一要求。我们有一个作为xml文件的现有项目区域。必须传递随机值,并且必须进行计算。