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
Anna [14]
3 years ago
14

In this assignment, you are provided with working code that does the following: 1. You input a sentence (containing no more than

50 characters). 2. The program will read the sentence and put it into an array of characters. 3. Then, it creates one thread for each character in the sentence. 4. The goal of the program is to capitalize each letter that has an odd index. The given program actually does this, but lacks the synchronization of the threads, so the output is not correct. You will need to provide the synchronization using mutex locks. Specifically, you are to (1) declare the mutex lock, (2) initialize the mutex lock, (3) lock and unlock the mutex lock at an appropriate location that results in the code working as expected, and (4) destroy the mutex lock. Be sure to place the mutex locks so that your program works correctly every time. Do not remove code or functions – you are to add the synchronization pieces only.
Computers and Technology
1 answer:
Olegator [25]3 years ago
4 0

Answer:

The code is given below,

import java.io.File;

import java.io.FileInputStream;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class SentenceUtilsTest {

public static void main(String[] args) {

List<SentenceUtils> sList = new ArrayList<SentenceUtils>();

try{

File file = new File(args[0]);

Scanner scanner = new Scanner(new FileInputStream(file));

while(scanner.hasNextLine()){

String sent = scanner.nextLine();

if(sent.trim().length() > 0){

SentenceUtils sUtils = new SentenceUtils(sent);

sList.add(sUtils);

}

}

System.out.println("File that was read:" + args[0]);

System.out.println("File contains " + sList.size() + " sentences.\n");

System.out.println("Sentences reports:\n");

for(int line = 0; line < sList.size(); line++){

System.out.println("Sentences " + line +";");

System.out.println(sList.get(line).getSentence());

SentenceUtils lineText = sList.get(line);

String[] tokens = lineText.getTokens();

for(int id = 0; id < tokens.length; id++){

System.out.println(id+":"+tokens[id]);

}

String[] shingles = lineText.getShingles();

for(int id = 0; id < shingles.length; id++){

if(shingles[id] != null){

System.out.print(shingles[id]+" ");

}

}

System.out.println("\n");

}

}catch(Exception ex){

ex.printStackTrace();

}

}

}

package sentenceutils;

import java.util.ArrayList;

import java.util.List;

public class SentenceUtils {

private String sentence;

private String[] tokens;

private String[] shingles;

public SentenceUtils(String s){

this.sentence = s;

generateTokens();

generateShingles();

}

private void generateShingles() {

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

for (int index=0; index < sentence.length()-1; index++) {

shinglesList.add( sentence.charAt(index) +""+sentence.charAt(index+1) );

}

shingles = new String[sentence.length()];

shinglesList.toArray(shingles);

}

private void generateTokens() {

tokens = sentence.split(" ");

}

public String getSentence() {

return sentence;

}

public String[] getTokens() {

return tokens;

}

public String[] getShingles() {

return shingles;

}

}

You might be interested in
The next four octal numbers after 36 is:________.
Papessa [141]

Answer: b. 37, 40, 41, 42

Explanation:

The next four octal numbers after 36 is 37, 40, 41, 42.

The octal numeral system, which is also referred to as "oct" for short, is simply base-8 number system.

It is a number system whereby only digits from 0 to 7 are used and there are no letters or numbers that are above 8 that are used.

In this case, after 36, the next number will be 37 after which we go to 40 as we can't write 38 in the octal system. Therefore, the next four octal numbers after 36 is 37, 40, 41, 42.

7 0
3 years ago
Describe the concepts of confidentiality, integrity, and availability (C-I-A), and explain each of the seven domains of a typica
GREYUIT [131]

Answer:

Answer explained below. The remaining part of the question is incomplete

Explanation:

The concepts of confidentiality, integrity, and availability (C-I-A) can be explained in following given points.

1) Confidentiality: Its basically refer to the confidentiality of the information. Here we can think about the protection of the information from unauthorized person. Confidentiality enuser that at what level your information is secured and no unauthorized access will be done to the information. For maintaining the confidentiality, we can use various encryption methods. The main concept of confidentiality is to enforce various techniques like encryption, file permissions and access control to restrict access to important information.

2) Integrity: Integrity of the information refer to the unwanted modification of the information. Integrity of the data as well as the information should be maintained and only the autorized person can access as well as modify the information. For enforcing the integrity, we can implement various hashing techniques on information.

3) Availability: Availability refers to the availability of the information, when ever an autorized person requests for the information. High availability of the information should occur, so that any autorized person can access it, when ever its required. For high availability, we can create backup as well as replicate the data across the geo sites.

Seven domains of a typical IT infrastructure are given below:

1) User Domain: Its refer to the group of users as well as the person who access the information systems.

2) LAN Domain: Refer to the local area network, where various computers are connected to each other.

3) Workstation Domain: The area is called workstation, where various users connect to the IT infrastructure.

4) WAN and LAN link domain: Refer to the connection of local area network to wide area network.

5) WAN domain: Refer to the wide area network, connection of computers in large area.

6) Storage Domain: Refer to the storage, where we store the data.

7) Remote Access Domain: Refer to the domain where mobile user can access the local as well as wide network remotely.

8 0
3 years ago
Who is better at fortnite mc creamy or mau?
Mama L [17]

Answer:

neither

Explanation:

fortnite sucks

8 0
3 years ago
Read 2 more answers
Linda is a core member of a project. She estimates the cost of the project, creates project requirements, and notes risks. What
lord [1]

Explanation:

no linda is the core member not rhe project

4 0
3 years ago
File "f2" has a size of 2. Why? A. It contains the string "f1". B. It contains two blank lines.
Aneli [31]

Answer:

A. It contains the string "f1"

7 0
3 years ago
Other questions:
  • 1) why is software engineering considered engineering and not manufacturing?
    9·1 answer
  • Tricia listed her assets and liabilities. Credit Card Bill Car Loan Bonds Piano Bank Account Bicycle Which are Tricia’s liabilit
    8·2 answers
  • What is the synonym for term port?
    9·1 answer
  • What is data protection
    13·1 answer
  • A disadvantage of using an arithmetic mean to summarize a set of data is that __________.
    13·1 answer
  • An IT specialist is consulted about setting up a peer-to-peer network. What would the specialist say about security risk in this
    14·2 answers
  • A(n) _____ is created using the select and option elements that present users with a group of predefined possible values for the
    10·1 answer
  • Please select the word from the list that best fits the definition Asking for review material for a test
    14·2 answers
  • A printer is considered to be in the category of
    5·2 answers
  • PLEASE HELP! WILL MARK AS BRAINLIEST JavaScript can be implemented using the _________ HTML tags in a web page.​
    13·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!