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
In a ____ queue, customers or jobs with higher priorities are pushed to the front of the queue.
saul85 [17]

Answer: In a priority queue, customers or jobs with higher priorities are pushed to the front of the queue.

Explanation:

A queue is an abstract data type which is an ordered set of elements. The elements are served in the order in which they join the queue. The first element which was put in the queue is processed first.  

The operations performed on queue data type are dequeue and enqueue.

Dequeue refers to removal of the first element from the queue after it has been serviced.

Enqueue refers to the arrival of new element when the element is added at the end of the queue.

A priority queue is another implementation of a queue. All the elements in a priority queue are assigned a priority. The element with the higher priority is served before the element with a lower priority. In situations of elements having same priority, the element is served based on the order in which the element joined the queue.

In programming, a priority queue can be implemented using heaps or an unordered array. Unordered array is used based on the mandatory operations which are performed on the priority queue.

The mandatory operations supported by a priority queue are is_empty, insert_with_priority and pull_highest_priority_element. These operations are implemented as functions in programming.

The is_empty confirms if the queue is empty and has no elements.

The insert_with_priority puts the new element at the appropriate position in the queue based on its priority. If the priority of the element is similar to the priority of other element, the position of the new element is decided based on the order of joining the queue.

The pull_highest_priority_element pulls the element having the highest priority so that it can be served before other elements. The element having the highest priority is typically the first element in the priority queue.

In operating system, priority queue is implemented to carry out the jobs and/or tasks based on their priority.

4 0
3 years ago
Why do you think viruses are called “viruses”? What do they have in common with the living viruses that cause diseases in humans
Vinvika [58]

Answer:

Computer viruses are referred to living viruses as they both have similar effects.

Explanation:

While living viruses invade cells and cause harmful effects on the body, computer viruses basically do the same thing. Computer viruses are a malicious code that inserts itself into a computer. It's designed to spread to one computer to another, just like a living virus.

Similarities:

  • Spreads from one host to another.
  • They both alter/harm the host.
  • Both can replicate itself.

Differences:

  • A computer virus is manmade, while living viruses aren't.
  • A computer virus needs to be removed manually through an app or software while living viruses are almost curable medicine.
  • A computer virus effects machines and software while living viruses only infect living organisms.
5 0
3 years ago
Read 2 more answers
(Count positive and negative numbers and compute the average of numbers) Write a program that reads an unspecified number of int
Papessa [141]

Answer:

Explanation:

Sorry it  is in Java, though you can covert it using converter

public class Exercise {

public static void main(String[] args) {

 Scanner input = new Scanner(System.in);

 int positives = 0;  // Count the number of positive numbers

 int negatives = 0;  // Count the number of negative numbers

 int count = 0;   // Count all numbers

 double total = 0;  // Accumulate a totol

 // Promopt the user to enter an integer or 0 to exit

 System.out.print("Enter an integer, the input ends if it is 0: ");

 int number = input.nextInt();

 if (number == 0) { // Test for sentinel value

  System.out.println("No numbers are entered except 0");

  System.exit(1);

 }

 while (number != 0) {// Test for sentinel value

  if (number > 0)

   positives++; // Increase positives

  else

   negatives++; // Increase negatives

  total += number; // Accumulate total

  count++;    // Increase the count

  number = input.nextInt();

 }

 // Calculate the average

 double average = total / count;

 // Display results

 System.out.println(

  "The number of positive is " + positives +

  "\nThe number of negatives is " + negatives +

  "\nThe total is total " + total +

  "\nThe average is " + average);

}

}

7 0
3 years ago
HEY DO U LIKE TRAINS!
Triss [41]

Answer:

yes

Explanation:

yes

3 0
4 years ago
Kurran posts photos of himself to his blog.He later decided to delete a photo from his blog.Suggest why the photo might not be r
SCORPION-xisa [38]

Answer:

You may think your photo is removed from the internet, but is actually not. Do you know why? Because if you post a picture on the Internet, people can quickly start posting it somewhere else, which causes the picture that you thought you deleted or removed from your blog is on a different website. This is why you need to watch what you are posting because just one little thing can spark the most attention, causing you to get into the MOST trouble.

Hope this Helps!

6 0
3 years ago
Other questions:
  • Type the correct answer in the box spell all words correctly
    8·1 answer
  • Moore’s Law is said to be more of a trend, rather than a representation of the actual number of transistors on a silicon chip. W
    14·1 answer
  • supppose we already have a list called words, containing all the words(i.e., string).Write code that produce a sorted list with
    14·1 answer
  • Which device uses radio waves? ceiling fan microwave oven air conditioner x-ray machine?
    7·1 answer
  • In order for bitlocker to protect the system volume without the aid of an external drive, your computer must:
    12·2 answers
  • You are the administrator for a small network. You have approximately 50 users who are served by a single Windows server. You ar
    7·1 answer
  • IfL = 4.4H and the inductive reactance of an inductor is 620 Omega find the frequency of the alternating current​
    5·1 answer
  • You can not give an exact size for a height for column width true or false
    14·1 answer
  • It is a part of webpage that contains the logo ang branding of the web page​
    15·1 answer
  • attackers typically use ack scans to get past a firewall or other filtering device. how does the process of an ack scan work to
    5·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!