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
irakobra [83]
3 years ago
12

We are building a word processor and we would like to implement a "reflow" functionality that full-justifies text.Given a maximu

m line width and an array containing lines of text, re-flow the text to fit the new width. Each line should be have the exact specified width. If any line is too short, insert spaces between words as equally as possible until it fits.
Computers and Technology
1 answer:
adoni [48]3 years ago
6 0

Answer:

The code is given below in Java with appropriate comments

Explanation:

Reflow is an function which helps you to justify your functionality

You need to input a string array and the max width and you will get the

output in a list(string).

public List<String> Reflow(String[] input, int width) {

   List<String> result = new ArrayList<String>();

 

   if(input==null || input.length==0){

       return result;

   }

 

 

   int count=0;

   int last=0;

   ArrayList<String> list = new ArrayList<String>();

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

       count = count + input[i].length();

 

       if(count+i-last>width){

           int wl = count-input[i].length();

           int sl = maxWidth-wl;

           int each = 1;

           int el = 0;

 

           if(i-last-1>0){

               each = sl/(i-last-1);

               el = sl%(i-last-1);

           }

 

           StringBuilder sb = new StringBuilder();

 

           for(int k=last; k<i-1; k++){

               sb.append(input[k]);

 

               int ce = 0;

               while(ce<each){

                   sb.append(" ");

                   ce++;

               }

 

               if(el>0){

                   sb.append(" ");

                   el--;

               }

           }

 

           sb.append(input[i-1]);//last input in the line

           //if only one word in this line, need to fill left with space

           while(sb.length()<width){

               sb.append(" ");

           }

 

           result.add(sb.toString());

 

           last = i;

           count=input[i].length();

       }

   }

 

   int lastLen = 0;

   StringBuilder sb = new StringBuilder();

 

   for(int i=last; i<input.length-1; i++){

       count = count+input[i].length();

       sb.append(input[i]+" ");

   }

 

   sb.append(input[input.length-1]);

   int d=0;

   while(sb.length()<maxWidth){

       sb.append(" ");

   }

   result.add(sb.toString());

 

   return result;

}

You might be interested in
What file formats can you safely use in a video presentation
dlinn [17]

i use fat 86 try it ok

7 0
3 years ago
Display flight number, origin, destination, fl_orig_time as --"Departure Time", fl_dest_time as "Arrival Time". Format times in
NARA [144]

Answer:

Select "flight number", origin, destination, format(fl_orig_time, 'HH:mm' ) as "Departure Time", format(fl_dest_time, 'HH:mm') as "Arrival Time" from table_name order by flight_number

Explanation:

The script is used to select records from the table named 'table_name' and formatted to 24hr time format with the hour in capital letters (signifying 24 hrs). Then the inverted comma used for flight number is due to the space character ebtween the two words. In a select statement, order by comes after the table name. While as is used as an alias for a column in a table.

8 0
3 years ago
Any idea how to make my simple python projects such as guess the number, mad libs, etc. even better?
-Dominant- [34]

Answer: Person's name.

Explanation:

3 0
2 years ago
Read 2 more answers
What does a network backbone do? allows data to be delivered more quickly and efficiently makes data transfer from the cloud mor
Musya8 [376]

Answer:

A network backbone connects multiple networks together, allowing them to communicate with each other.

5 0
3 years ago
Read 2 more answers
How to keep tools and equipment safeuh​
ivanzaharov [21]

Answer:

Use pelican, or similar heavy duty cases

Explanation:

Pelican is a brand btw. 10/10 would recommend

8 0
3 years ago
Read 2 more answers
Other questions:
  • _____ is two or more connected computers.
    8·1 answer
  • Knowledge flows from the information that has been generated. Which of the following does not necessarily flow from information
    15·1 answer
  • DRU is a small brokerage house that enables its clients to buy and sell stocks over the Internet, as well as place traditional o
    11·1 answer
  • Many computers today use _____ which is a coding scheme using at least 16 bits to represent a character.
    10·1 answer
  • Which of the following is a characteristic of the internet today? distributed network central hub lack of protocols absence of c
    5·1 answer
  • When were anonymous inner classes added to java?
    10·1 answer
  • What is one reason that writing effective messages is so important
    11·2 answers
  • What output is generated by this for loop?
    6·1 answer
  • Can able to Computer decide its input by itself? How ?​
    15·1 answer
  • Content area a leased asset will appear on the balance sheet as a long-term asset. true false'
    5·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!