1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
djyliett [7]
3 years ago
11

Write a program that prompts the user for the name of two files each containing a single line that represents a decimal integerc

all them m and n, keep in mind that theseintegerscould be very largein absolute value, so they might not be stored neither as along nor intvariables. You should:a)Handle erroneous input graciously.b)Include a class named BigIntegerwhere you define an integer as a linked list, along with integer operations such as addition and subtraction [multiplication and division will grant you extra points] c)Test your program for each operation and store the result of each operation as a single decimal number in a separate file containing only one line\
Computers and Technology
1 answer:
storchak [24]3 years ago
4 0

Answer:

The output is seen bellow

Explanation:

public class BigInteger {

  public class Node{

      private char data;

      private Node next;

      public Node(char d){

          this.setData(d);

          this.setNext(null);

      }

      public char getData() {

          return data;

      }

      public void setData(char data) {

          this.data = data;

      }

      public Node getNext() {

          return next;

      }

      public void setNext(Node next) {

          this.next = next;

      }      

  }

 

  private Node root;

 

  public BigInteger(String s){

      this.root=null;

     

      for(int i=s.length()-1;i>=0;i--){

          Node node=new Node(s.charAt(i));

          node.setNext(root);

          root=node;

      }

  }

 

  public String toString(){

      String str="";

      Node cur=this.root;

      int i=0;

     

      while(cur!=null){

          if(i==0 && cur.getData()=='0'){

             

          }

          else{

              i=1;

              str+=cur.getData();

          }

         

          cur=cur.getNext();

      }

     

      return str;

  }

 

  public String reverse(String s){

      String ret="";      

      for(int i=s.length()-1;i>=0;i--){

          ret+=s.charAt(i);

      }      

      return ret;

  }

 

  public BigInteger add(BigInteger s){

      String f=this.reverse(this.toString());

      String l=this.reverse(s.toString());

      int max=(f.length()>l.length())?f.length():l.length();

     

      String ret="";

     

      int carry=0;

     

      for(int i=0;i<max;i++){

          int sum=carry;

          if(i<f.length()){

              sum+=(f.charAt(i)-'0');

          }

          if(i<l.length()){

              sum+=(l.charAt(i)-'0');

          }

          ret+=(char)(sum%10+'0');

          carry=(sum/10);

      }

      if(carry!=0){

          ret+='1';

      }

     

      BigInteger bi=new BigInteger(this.reverse(ret));

      return bi;

  }

  public boolean bigNum(String s1,String s2){

             

      if(s1.length()>s2.length()){

          return true;

      }

      else{

          if(s1.length()<s2.length()){

              return false;

          }

          else{

              for(int i=0;i<s1.length();i++){

                  if(s1.charAt(i)!=s2.charAt(i)){

                      if(s1.charAt(i)>s2.charAt(i)){

                          return true;

                      }

                      else{

                          return false;

                      }

                  }

              }                  

          }

      }

      return false;

  }

 

  public BigInteger subtraction(BigInteger s){

      String f=this.toString();

      String l=s.toString();

     

      boolean b=this.bigNum(f, l);

   

      if(b==false){

          String tmp=f;

          f=l;

          l=tmp;

      }

     

      f=this.reverse(f);

      l=this.reverse(l);

     

      int max=(f.length()>l.length())?f.length():l.length();

     

      String ret="";

     

      int borrow=0;

     

      for(int i=0;i<max;i++){

          int sum=borrow;

          if(i<f.length()){

              sum+=(f.charAt(i)-'0');

          }

          if(i<l.length()){

              sum-=(l.charAt(i)-'0');

          }

          if(sum<0){borrow=-1;sum=10+sum;}

          else{borrow=0;}

         

          ret+=(char)(sum%10+'0');

      }

     

      if(b==false){

          ret+="-";

      }

     

      BigInteger bi=new BigInteger(this.reverse(ret));

      return bi;

  }

 

  public BigInteger multiplication(BigInteger s){

      String f=this.toString();

      String l=s.toString();

 

      int len=l.length();

     

      BigInteger bi=new BigInteger("");

      for(int i=len-1;i>=0;i--){

          //System.out.println(l.charAt(i));

          BigInteger r=new BigInteger(f);

          for(int j=(l.charAt(i)-'0');j>1;j--){

              r=r.add(new BigInteger(f));

              //System.out.print(r+" " );

          }

          //System.out.println();

          bi=bi.add(r);

          f=f+"0";

      }

      return bi;

  }

 

  public BigInteger division(BigInteger s){

      BigInteger t=this;

      BigInteger bi=new BigInteger("");

      int i=0;

      t=t.subtraction(s);

      String str=t.toString();

     

      while(str.charAt(0)!='-' && i<40){

          //System.out.println(str+" "+(i+1));

          bi=bi.add(new BigInteger("1"));

          t=t.subtraction(s);

          str=t.toString();  

         

          i++;

      }

      return bi;    

  }  

}  

-------------------

import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Scanner;

public class Driver {

  public static void main(String [] args){

      Scanner sc=new Scanner(System.in);

     

      String str1="";

      String str2="";

     

      System.out.print("Enter file name 1 :");

      String file1=sc.next();

      //String file1="datafile1.txt";

      BufferedReader reader1;

      try {

          reader1 = new BufferedReader(new FileReader(file1));

          while((str1=reader1.readLine())!=null){

              break;

          }

          reader1.close();

      } catch (FileNotFoundException e) {

          // TODO Auto-generated catch block

          e.printStackTrace();

      } catch (IOException e) {

          // TODO Auto-generated catch block

          e.printStackTrace();

      }

 

      System.out.print("Enter file name 2 :");

      String file2=sc.next();

      //String file2="datafile2.txt";

      BufferedReader reader2;

      try {

          reader2 = new BufferedReader(new FileReader(file2));

          while((str2=reader2.readLine())!=null){

              break;

          }

          reader2.close();

      } catch (FileNotFoundException e) {

          // TODO Auto-generated catch block

          e.printStackTrace();

      } catch (IOException e) {

          // TODO Auto-generated catch block

          e.printStackTrace();

      }

You might be interested in
Content controls cannot be removed, only edited. Please select the best answer from the choices provided
Anton [14]
 False is your answer
5 0
3 years ago
➪ How many types of Engineering are there in the world ?<br>⛄​​
aleksley [76]

There are mainly five types of engineers found in the world. Each of them has a different set of skills and knowledge concerning their relative field.

<h3>Who is called an Engineer?</h3>

An Engineer may be defined as an individual who formats, designs, modifies, and creates machinery or technical equipment like software programs, construction buildings, bridges, etc.

The five types of Engineers are as follows:

  • Civil Engineers.
  • Chemical Engineers.
  • Electrical Engineers.
  • Mechanical Engineers.
  • Computer Engineers.

Civil engineers deal with the construction of buildings, bridges dams, airports, etc. Chemical engineers are associated with developing the products such as medicines, petrochemicals, plastics, etc.

Electrical engineers design and develop the manufacturing of electrical equipment like navigation systems, radar, communication systems, electric motors, etc.

Mechanical engineers always maintain their focus on manufacturing power-producing and power-using machines like electric generators, gas turbines, refrigerators, air-conditioners, etc.

Computer engineers deal with designing, manufacturing, and examining all software operated within an institution's computer system.

All such types of engineers work in their respective fields for designing, and manufacturing products and their delivery which makes the life of an individual easy, efficient, and reliable.

Therefore, it is well described above.

To learn more about Engineers, refer to the link:

brainly.com/question/17169621

#SPJ1

5 0
2 years ago
Read 2 more answers
To execute sas code, you can click on which icon?
faltersainse [42]

To execute SAS code, an icon which you can click on is: e. running man.

<h3>What is SAS?</h3>

SAS is an abbreviation for Statistical Analysis System and it can be defined as a statistical software suite which was developed at North Carolina State University by SAS Institute for the following field of study:

  • Business intelligence
  • Criminal investigation
  • Data management
  • Multivariate analysis
  • Advanced analytics
  • Predictive analytics

In Computer programming, running man is an icon which you can click on, in order to execute SAS code.

Read more on Statistical Analysis here: brainly.com/question/24439065

#SPJ1

7 0
2 years ago
1. What is the Internet?
3241004551 [841]
A place to watch daisy Taylor vids
8 0
3 years ago
Read 2 more answers
An analyst determines the value of investments<br><br> True<br><br> False
satela [25.4K]
The correct answer is True
8 0
3 years ago
Read 2 more answers
Other questions:
  • In a newspaper advertisement for a hybrid car, which of these presentation methods would be most effective
    6·2 answers
  • In an ipv4 address, what are the maximum number of bits that can be used to identify the network address
    14·1 answer
  • A tripod head can move vertically or horizontally. What term describes these movements?
    15·2 answers
  • A cell reference with only one dollar sign before either the column or the row is called an absolute reference.
    10·1 answer
  • In the terms of OOP, in the microwave system, current time is a BLANK and change heat is a BLANK
    15·1 answer
  • ) Which of these will not select all the cells in a document?
    13·1 answer
  • Ok for whoever answers this, Ill wager 20 points...
    11·2 answers
  • Which group allows you to add notes to your presentation?
    8·2 answers
  • In a swap you need a variable so that one of the values is not lost ? Need help
    7·2 answers
  • what new technology led to the chaos that spurred the establishment of the federal communications commission?
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!