Write a Java method that prints a list of characters using the following header:public static void printChars (char ch1, char ch2, int numPerLine)This method prints chars between ch1 and ch2 (inclusive); the number of chars per-line is specified by int variable numPerLine. Then write and test Java programs that printa) characters from 1 to Z (uppercase), ten chars per line; b) all lowercase letters followed by all uppercase letters, 13 per line (Hint: you may want to call the method printChars twice in this second part)Consecutive characters on the same line should be separated by exactly one space.

Answers

Answer 1

Answer:

The method and the test cases is as follows:

import java.util.*;

public class Main{

public static void printChars (char [tex]ch1[/tex], char [tex]ch2[/tex], int [tex]numPerLine[/tex]){

    int count = 0;

    for(char ch = ch1; ch<=ch2; ch++){

        System.out.print(ch+" ");

        count++;

        if(count == numPerLine){

            System.out.println();

            count = 0;         }     }

    System.out.println(); }

public static void main(String[] args) {

 printChars('1','Z',10);

 printChars('a','z',13);

 printChars('A','Z',13);

}}

Explanation:

See attachment for complete source file where comments are used as explanation


Related Questions

You're installing two new hard drives into your network attached storage device. Your director asks that they be put into a RAID solution that offers redundancy over performance. Which would you use?
a. RAID 0
b. RAID 1
c. RAID 5
d. RAID 6
e. RAID 10

Answers

Answer:

d. RAID 6

Explanation:

RAID is a data storage technology that combines multiple physical disk drive components into a single logical unit. The functions of RAID is to provide performance and redundancy.

RAID 0 provides data stripping but it does not offer data stripping.

RAID 1 increases performance to about 2x but it limits the disk capacity to about 50%

RAID 5 provides redundancy and increased perfomance but it is limited to small disk drive.

RAID 6 also provides redundancy but it slows performance

RAID 10 increases performance and data protection.

RAID 6 is the best drive that offers redundancy over performance.

You issue a transmission from your workstation to the following socket on your LAN: 10.1.145:110. Assuming your network uses standard port designations, what Application layer protocol are you using

Answers

Answer:

POP

Explanation:

The application layer protocol that is been used here is POP, given that you issued a transmission to the socket on you LAN: 10.1.145:110.  and you use a standard port designation

Reason:

110 ( port number ) represents a POP3 process that is always used in a TCP/IP network , and the socket address started with an IP address as well. hence we can say that the application layer protocol is POP

Carla is assigning tasks to others and she needs to ensure that she is aware of their progress. Which option should
she choose?
O Send status report when I complete an assigned task
O Completed task color
O Set Quick Click flag
O Keep my task list updated with copies of tasks

Answers

Answer: Send status report when I complete an assigned task

Explanation:

In order to be aware of their progress, the option to choose is the "Send status report when I complete an assigned task".

To do this click on options on the tools menu, then click on task options. Then, after the keep updated copies of the assigned tasks on my task list has been selected in the check box, one will then select "Send status reports when the assigned tasks are completed".


What is the importance of using DNS?

Answers

Answer:

DNS provides a name to number (IP address) mapping or translation, allowing internet users to use, easy to remember names, and not numbers to access resources on a network and the Internet.

Thank you.......

Have a good day......

Answer:

DNS stand for Domain Name System

Explanation:

The benefits of DNS are that domain names: can map to a new IP address if the host's IP address changes. are easier to remember than an IP address. allow organizations to use a domain name hierarchy that is independent of any IP address assignment.

Is this one are you looking for??

Please Help Me!!!!!!!!!!!!!


A commercial photographer would most likely be employed by which of the following?

A business
A magazine
A travel agency
All the above

Answers

Explanation:

a magazine cause it helps put out commercial

Question 6 Which of the following statements about datasets used in Machine Learning is NOT true? 1 point Testing data is data the model has never seen before and is used to evaluate how good the model is Training subset is the data used to train the algorithm Validation data subset is used to validate results and fine-tune the algorithm's parameters Training data is used to fine-tune algorithm’s parameters and evaluate how good the model is

Answers

Answer:

Training data is used to fine-tune the algorithm’s parameters and evaluate how good the model is

Explanation:

The statement about datasets used in Machine Learning that is NOT true is "Training data is used to fine-tune algorithm’s parameters and evaluate how good the model is."

This is based on the fact that a Training dataset is a process in which a dataset model is trained for corresponding it essentially to fit the parameters.

Also, Testing the dataset is a process of examining the performance of the dataset. This refers to hidden data for which predictions are determined.

And Validation of dataset is a process in which results are verified to perfect the algorithm's details or parameters

loa (speaker) thuộc nhóm thiết bị nào ?

Answers

Answer:

this say's "Which device group?" hope i helpped

what is a task that is not associated with loading existing data into a new ERP system.
A. Data mapping
B. Data cleanup
C. Data loading
D. Data reporting​

Answers

Answer:

I believe the answer would be D. Data Reporting!

hope this helps! <3

Answer:

Correct Answer D:- DATA Reporting.

Explanation:

Data reporting is the collection and submission of data that leads to accurate ground-based analysis incorrect data reporting can lead to extremely informed decision-making using wrong evidence. Data reporting is not only about information but also about data collection.

The reporting of data may be an unbelievably difficult task. In order to achieve the job of counting every resident of a country, census bureaus can hire even hundreds of thousands of workers.

Data reporting is a step that translates raw information into information. It is not the data analysis that transforms data and information into insights. If data is not reported, the problem is known as underreporting the opposite is wrong.

Create a method called letterGrade that will pass the student's average grade as a parameter and return a letter grade (char). Once passed, use an if..else if structure to determine whether the student has an A, B, C, D, or F. Return that letter grade. Use the standard grade scale: 90-100 (A), 80-89 (B), 70-79 (C), 60-69 (D), 0-59 (F).

Answers

Answer:

The method in Java is as follows:

public static char letterGrade(int average){

    char grade =' ';

    if(average>= 90 && average <=100){ grade ='A'; }

    else if(average>= 80 && average <=89){ grade ='B'; }

    else if(average>= 70 && average <=79){ grade ='C'; }

    else if(average>= 60 && average <=69){ grade ='D'; }

    else if(average>= 0 && average <=59){ grade ='F'; }

    return grade;

}

Explanation:

This defines the method

public static char letterGrade(int average){

This initializes the grade to a blank

    char grade =' ';

If average is between 90 and 100 (inclusive), grade is A

    if(average>= 90 && average <=100){ grade ='A'; }

If average is between 80 and 89 (inclusive), grade is B

    else if(average>= 80 && average <=89){ grade ='B'; }

If average is between 70 and 79 (inclusive), grade is C

    else if(average>= 70 && average <=79){ grade ='C'; }

If average is between 60 and 69 (inclusive), grade is D

    else if(average>= 60 && average <=69){ grade ='D'; }

If average is between 0 and 59 (inclusive), grade is F

    else if(average>= 0 && average <=59){ grade ='F'; }

This returns the grade

    return grade;

}

discuss seven multimedia keys​

Answers

Answer:

Any seven multimedia keys are :-

□Special keys

Alphabet keys

Number keys

□Control keys

Navigation keys

Punctuation keys

Symbol keys

Explain briefly the FIREWALLS

Answers

Answer:

Think of a firewall as your own personal security guard. The firewall will block unapproved websites from talking to your computer and will stop your computer from talking to unapproved/unnecessary websites. Hope this helps!

Explanation:

Declare a seven-row, two-column int array named temperatures. The program should prompt the user to enter the highest and lowest temperatures for seven days. Store the highest temp in the first column and the lowest in the second column. The program should display the average high and average low temperature. Display the average temperatures with one decimal place.

Answers

Answer:

Following are the code to the given question:

#include<iostream>//header file

#include<iomanip>//header file 

using namespace std;

int main()//main method

{

  double temperatures[7][2];//defining a double array temperatures

  double lowAvg=0, highAvg=0;//defining a double variable

  for(int i = 0;i<7;i++)//defining loop to input the value

  {

     cout<<"Enter day "<<(i+1)<<" highest temperatures: ";//print message  

     cin>>temperatures[i][0];//input highest temperatures value

     cout<<"Enter day "<<(i+1)<<" lowest temperatures: ";//print message  

     cin>>temperatures[i][1];//input lowest temperatures value

  }  

  cout << fixed << setprecision(1);//using the setprecision method  

   for(int i = 0;i<7;i++)//defining loop to calculating the Average of the  

  {

     highAvg += temperatures[i][0];//holding highest value

     lowAvg += temperatures[i][1];//holding lowAvg value

  }

  cout<<"Average high temperature = "<<highAvg/7<<endl;//calculate amd print highest temperature Average

  cout<<"Average low temperature = "<<lowAvg/7<<endl;//calculate amd print lowest temperature Average

  return 0;

}

Output:

Please find the attached file.

Explanation:

In this code, a 2D array "temperatures" and two-variable "highAvg, lowAvg" as double is declared, that uses the two for loops.In the first loop, it uses an array to input the value from the user-end.In the second loop, it uses the double variable that calculates the average value of the temperature.

calculateAverageSalary(filename): Returns the average salary of all employees rounded down to 2 decimal points highestHireMonth(filename): Returns the month (integer) during which most hires were made over the years getMonth(date): Helper function to extract and return the month number from a date given as a string input of format MM/DD/YY. Return type should be an int.

Answers

Answer:

An extract from the answer is as follows:

for i in salary:

 total_salary+=float(i)

 count+=1  

return round(total_salary/count,2)

def getMonth(date):

ddate = []

for i in date:

 ddate.append(i.split('/')[0])

mode = int(max(set(ddate), key=ddate.count))

return mode  

def highestHireMonth(filename):

month = []

See explanation for further details

Explanation:

Given

Attachment 1 completes the question

The complete answer could not be submitted. So, I've added it as an attachment.

See attachment 2 for program source file which includes the main method.

Comments are used to explain difficult lines

Write a function called reverse Return that is almost the same job as reverse, but instead of printing the letters straight to the screen, it returns a String in which the letters have been reversed. The function call would look like:

Answers

Answer:

The function in Python is as follows:

def reverse(inputstr):  

   outputstr = ""

   for i in inputstr:

       outputstr = i + outputstr

   return outputstr

Explanation:

This defines the function

def reverse(inputstr):

This initializes the output string

   outputstr = ""

This iterates through the input string

   for i in inputstr:

This generates the output string by reversing the input string

       outputstr = i + outputstr

This returns the reversed string

   return outputstr

In the early days of computer technology, which system was justified because data-processing personnel were in short supply, hardware and software were expensive, and only large organizations could afford computers

Answers

Answer:

Centralized Processing

Explanation:

Centralized processing was developed to process all of the data in a single computer, and since the first computers were stand-alone with all input and output devices in the same room, only the largest organizations could afford to use centralized processing.

Design a class named largeIntegers such that an object of this class can store an integer of any number of digits. Add operations to add, subtract, multiply, and compare integers stored in two objects. Also add constructors to properly initialize objects and functions to set, retrieve, and print the values of objects. Write a program to test your class. g

Answers

Answer:

Here the code is given as follows,

Explanation:

Code:

import java.util.Scanner;

//created class named largeintegers

class largeintegers{

   //class can hold a long number

   long number;

   //constructor to set number

  largeintegers(long number){

      this.number=number;

  }

  //getNumber method to get number

  long getNumber(){

      return number;

  }

  //below are some basic operations

  long addition(long num1,long num2){

       return num1+num2;

   }

   long subtract(long num1,long num2){

       return num1-num2;

   }

   long multiply(long num1,long num2){

       return num1*num2;

   }

   boolean compare(long num1,long num2)

   {

       return num1>num2;

   }

  public static void main(String[] args) {

      //declared to long numbers

      long number1,number2;

      //scanner class to take user input

      Scanner sc= new Scanner(System.in);

      //taking input numbers

      System.out.println("Enter a Number ");

      number1=sc.nextLong();

      System.out.println("Enter 2nd Number :");

      number2=sc.nextLong();

      //created two objects

      largeintegers object=new largeintegers(number1);

      largeintegers object2=new largeintegers(number2);

      //displaying two numbers

      System.out.println("Entered Numbers ");

      System.out.println(object.getNumber());

      System.out.println(object2.getNumber());

      //calling basic methods using created objects

      System.out.println("Some Operations on Given two Numbers ");

      System.out.println("Addition:"+object.addition(object.getNumber(), object2.getNumber()));

      System.out.println("Subtraction:"+object.subtract(object.getNumber(), object2.getNumber()));

      System.out.println("Multiplication:"+object.multiply(object.getNumber(), object2.getNumber()));

      System.out.println("Comparison:");

      if(object.compare(object.getNumber(), object2.getNumber())==true)

      {

          System.out.println("First Number is Greater than Second Number ");

      }

      else

      {

          System.out.println("Second Number is Greater than First Number ");

      }

      sc.close();

  }

}

Output:-

Holly the Hacker has a list of 100,000 common passwords. She wants to use this list to break into UNIX-like systems that use a password file with lines consisting of:

Answers

The question is incomplete. The complete question is :

Holly the Hacker has a list of 100,000 common passwords. She wants to use this list to break into UNIX-like systems that use a password file with lines consisting of:

The user's ID in plaintext.

10 bits of randomly chosen "salt," in plaintext.

The user's password, concatenated with the salt, and then encrypted.

There are very many such systems around the world, and Holly plans to steal the password files from as many as she can. The average system has 50 users in its password file.

Holly wants to create a master list of the encrypted versions of all the 100,000 passwords on her list, encrypted with all possible salt values. To create this master list, approximately how many encryptions of a password-concatenated-with-salt would Holly have to perform?

A. 2 million

B. 5 million

C. 100 million

D. 1 million

Solution :

It is given that the hacker, Holly wants break into the  UNIX-like systems using 100,000 common passwords that she has on her list. The system has at an average of 50 users in the password files.

Therefore, to create a master list, Holly have to perform about 50 x 100,000 = 5,000,000 encryptions for the password concatenated-with-salt.

Thus the correct option is option (B).  5 million

21
22
23
24
25
26
27
28
29
30
TIME REMA
01:08:
Which view is most often used to reorder slides in a presentation that has already been created?
HERE
ОО
Outline view
Slide Sorter view
O Reading view
O Normal view

Answers

Answer:

slide sorter view

Explanation:

Explanation: while you can use 3/4 of these options to reorder slides, it is more common to use slide sorter view.

Slide sorter view. while you can use 3/4 of these options to reorder slides, it is more common to use slide sorter view.

What is Slide sorter view?

You can see and sort the presentation slides in PowerPoint using the Slide Sorter view. Click the "Slide Sorter" button in the presentation view buttons in the Status Bar to enter the Slide Sorter view.

The presentation slides can be added to, removed from, and copied using the Slide Sorter view. The visual flow of the presentation is also displayed in PowerPoint's Slide Sorter view. Additionally, you may add and observe a slide transition animation here.

  All of the presentation slides in PowerPoint's Slide Sorter mode are displayed as thumbnails. The slide's content cannot be changed in this view. However, many of the functions available in the PowerPoint Slide Sorter view

Therefore, Slide sorter view. while you can use 3/4 of these options to reorder slides, it is more common to use slide sorter view.

To learn more slide sorter view, refer to the link:

https://brainly.com/question/7696377

#SPJ7

Brody is concerned that he is going to exceed the quota set for his mailbox. Where should he go to access the Mailbe
Cleanup tools?
O Backstage view
Inbox
O Deleted Items Folder
Outlook Web App
ANSWER QUICK IM TIMED WILL GIVE OUT PTS

Answers

Answer:

Outlook Web App

Explanation:

For Brody to accomplish this he will need to go to the Outlook Web App. Here, he will need to navigate to the top of the application where the toolbar is located. Then he will need to click on File, then Tools, and finally Mailbox Cleanup. This will give him access to all of the cleanup tools that the Outlook Mailbox has for managing all of his electronic mail as well as adjusting the quota set for his mailbox.

Answer:

A. Backstage view indox

Explanation:

HEALTH AND SAFETY IN USING ICT TOOLS

Answers

Answer:

Health and Safety using ICT Tools.

...

Some of the long-term health effects are:

Headaches and tiredness. Using the mobile phone for hours can be very stressful and may lead to mild or severe headaches.

Creates joint pain. ...

Mobile phone battery explosion. ...

Induced ringing!

Answer:

ICT tools for health and safety. Find common health issues related to computer usage and other ICT tools.

Explanation:

Use of ICT instruments

ICT tools are computer-based equipment used for processing and communicating information and technology. There are certain ICT tools;

- TV.

- System of Public Address

- Radio

- Mobile Phone

- Computer

What are the adverse consequences of long-term television exposure?

You don't have eyes for hours to stare at the TV.

Taking hours on the TV can be dangerous and dangerous for the eye.

If you starve continuously, your eye will get overworked and this will cause an irritation of the eye, such as dry eye, red, itchy, and watery eyes, fatigue, eyelid weight or forehead, as well as eye concentration.

Certain long-term effects on health are:

1. Tiredness and headaches.

2. Make pain joint.

3. Battery explosion mobile phone.

4. Ringing induced! In ears.

the derivative of
[tex]ln \: |x| [/tex]
is an odd function
True or False​

Answers

Answer:

true

Explanation:

the derivative of lnx is 1/x and 1/x is and odd function because x^-1 is raise to a negative odd number

Answer:

jidjdjdjdkdjdjkdjdhdjurjrhrjdjdjdjdjddjjd

Explanation:

kkfjfjfjfjfjfjfjfjfjjfjfjffjjfjfjfjfjf sorry po

Smartphones are more likely to be used than laptop computers for everyday ICT use.
Describe three advantages of using a smartphone rather than a laptop computer.

Answers

Answer:

it's small amd you can carry it everywhere

easy to use

long lasting battery

Explanation:

hope the answers are right:)

Write a program named prices.c that repeatedly asks users to enter the price of an item until they enter zero. Prices less than zero will be ignored. The program will then print the number of items purchased, the subtotal of the prices, the sales tax charged (at a rate of 7.5%), and the grand total.

Answers

Answer:

Explanation:

The following is written in Java. It creates a while loop that requests price from the user and goes adjusting the quantity and subtotal as more prices are added. If 0 is entered it breaks the loop and outputs the quantity, subtotal, tax, and grand total to the user.

import java.util.Scanner;

class Brainly {

   public static void main(String[] args) {

       Scanner in = new Scanner(System.in);

       int quantity = 0;

       double subtotal = 0;

       double tax, grandTotal;

       while (true) {

           System.out.println("Enter a price: ");

           double price = in.nextDouble();

           if (price == 0) {

               break;

           } else if (price > 0) {

               quantity += 1;

               subtotal += price;

           }

       }

       tax = subtotal * 0.075;

       grandTotal = subtotal + tax;

       System.out.println("Quantity: $" + quantity);

       System.out.println("Subtotal: $" + subtotal);

       System.out.println("Tax: $" + tax);

       System.out.println("GrandTotal: $" + grandTotal);

   }

}

What are the things that a computer literate understands?Name thems.​

Answers

Answer:

•Determine your IP address.

•Verify physical connectivity to the network.

•Check that you have a logical connection to the network.

•Find out what path network traffic takes to get to its destination.

Translate from DNS names to IP addresses.

You would like to upgrade the processor in your system to a 64-bit processor. Which of the components will you most likely need to upgrade as well to take full advantage of the new processor

Answers

Answer: Operating system

Explanation:

The components that will be required to upgrade as well to take full advantage of the new processor is the Operating system.

The operating system manages the software resources and the computer hardware, through the provision of common services for the computer programs. It simply supports the basic function of the computer like task scheduling

For which of the following values of A and B will the expression A || B be true?

A = False, B = False

Both A and B must be true

The expression is impossible to be true no matter the values of A and B.

A = False, B = True

Answers

Answer:

A = False, B = True

Explanation:

|| is equal OR. To the expression be true, you need one of them to be true or both.

A = TRUE, B = FALSE

Returns true

A = FALSE, B = FALSE

Returns true

A = TRUE, B = TRUE

Returns true

Does anyone know what type of Chromebook this is?

Answers

A chromebook of course lol jk look it up and u can find what kind it is

Answer: Its............ A Chromebook type of Chromebook...??

Explanation:

Ion know I aint a geek, geezer -_- (Thats a lie)

Function newPriceTable = UpdatePriceTable(origPriceTable, changePrice, colNum) % UpdatePriceTable: Adds changePrice to column colNum of origPriceTable % Returns the updated price table newPriceTable % Inputs: origPriceTable - original price data table % changePrice - column array of pricing changes % colNum - specified column of priceTable to update % % Outputs: newPriceTable - updated price data table % Assign newPriceTable with data from priceTable; newPriceTable = [0, 0; 0, 0;]; % FIXME % Assign newPriceTable column specified by colNum with original price % data updated by changePrice newPriceTable = [0, 0; 0, 0;]; % FIXME end Run Your Solution Code to call your function when you click Run

Answers

Solution :

The function code is :

function newPriceTable = UpdatePriceTable(origPriceTable,changePrice, colNum)

newPriceTable = origPriceTable:

newpriceTable(:,colNum) = newPriceTable(:,colNum)+changePrice;

end

UpdatePriceTable ([19.99, 9.99; 14.99, 8.99;], [-1.00, -1.50] , 1)

ans = 18.9900      9.9900

         13.4900      8.9900

you can use a minus sign to make a negative numberlike -2. What happens to each of the following 2++2
2 - -2
2+ - 2
2- +2

Answers

2 - -2 = 4
2 + -2 = 0
2 - +2 = 0
:)

If we use a minus sign to make a negative number like -2. Then the following terms will be:

2 - -2 = 42 + -2 = 02 - +2 = 0What is calculation?

A calculation is a methodical, well-thought-out process. Calculating the solution to a math problem is the first type of calculation, for which you might use a calculator. The calculation also includes applying logic to a non-numerical issue.

Plus, minus, multiply, and divide are the basic signs used in math to calculate problems. These signs also change when come n contact with each other, like plus and minus are equal to minus.

Like here, 2 - -2. Minus and minus is plus, so two plus two is four.

2 + -2 = 0, here plus minus = minus, so two minus two is 0.

Therefore, the calculation for the given is

2 - -2 = 42 + -2 = 02 - +2 = 0

To learn more about calculation, refer to the link:

https://brainly.com/question/14106833

#SPJ2

Why are mobile apps often easier to develop than desktop apps?

mobile apps use a lower screen resolution

mobile apps can be created in C#

mobile apps use less memory than desktop apps

mobile app creation platforms are available that reduce the need to code

Answers

Answer:

Mobile app creation platforms are available that reduce the need to code.

Explanation:

Simple app creation softwares and tools are all over the place for mobile app creation. To create a mobile app, no coding knowledge or experience is needed unlike desktops apps that requires the knowledge of some coding languages like python, JavaScript etc.

The availability of these softwares and platforms have made mobile apps creation easy.

Other Questions
ITEMUNIT COSTBelt$1,500Handbag$11,540Leather GlovesS2,999Sunglasses$8,680Watch$15,46014" Satin Bonnet$1,1271. What will be the cost for an 18" satin bonnet? which of the following is a allegory The amount of available energy decreases along food chain in an ecosystem.How is this explained by the law of conservation of energy The things they carried Name the historical event which marked the end of Cold War, depicted in this image How many roots does this function have in common f(x)=x^2-4x-5 Can someone help me please Identify the resources that cannot be replenished within the average span onehuman life.Select 2 correct answers!!!petroleumnatural gastrees or plantswater . During this week, pick a conversation that you wish you could have over again. Who was it with? When was it? What was the topic? Why do you want to do it over? What happened Telecommunications, Inc. is considering producing a new hands-free device that will offer several voice-activated features. After much market research, it has determined that the appropriate target price for the new product is $120. To achieve its normal minimum profit margin of 25%, Electronics must be able to produce the product at a maximum total cost of: can i do chemistry project on effects of caffeine DDR III SDRAM (Double Data Rate III Synchronous Dynamic RAM) c tc bus 800/1066/1333/1600 Mhz, s bit d liu l 64, in th l 1.5v. Chun giao tip ca DDR III SDRAM l? why is it impostant during a science project to record measure The girlsevery afternoon.In the above sentence, theblank must be filled with1 a noun% a verbI an adjective4an adverbnone of these Your teacher will grade your responses to questions 24 and 25 to ensure you receive proper credit for your answers. Identify the systems that move your body, and explain how these systems work together. the Albany Plan of Union was name three factors which may prevent accessibility to printed media Menza has a $500 budget for the school party. She paid $150 for the decorations. Food will cost $5.50 per student. Which inequality represents the number of students, s, that can attend the party? 5.5s 150 5.5s 350 5.5s 500 5.5s 650 1. Suppose you want to design and build a house. How would you communicate your design plans with the construction crew that would work on the house?2. Cells build large, complicated molecules, such as proteins. What do you think cells use as their "design plans" for proteins? Look at the karyotype. Which chromosome has an extra copy?A. 2B. 20C. 18