2014-12-09 3 views
0

Я хотел бы спросить о том, как создать программу, которая должна генерировать три слова длиной 10 символов с первой буквой в верхнем регистре, а затем эти три слова должны сливаться так, чтобы только первая буква была в верхнем регистре. Существует примечание, в котором говорится, чтобы сделать первую букву в верхнем регистре, которую вы должны сделать toLowerCase, и после этого увеличить первую букву с помощью подстроки.Создание случайных слов в среде IDE NetBeans?

+0

Нет тегов языка - не кажется 'Java'! –

+0

Добро пожаловать в переполнение стека. Пожалуйста, прочитайте [this] (http://stackoverflow.com/help/on-topic) и [это] (http://stackoverflow.com/help/how-to-ask) и пройдите [тур по сайту ] (http://stackoverflow.com/tour). – Celeo

ответ

0

это кажется добрым глупо, но я это сделал. Если слова должны быть реальными, тогда вам понадобится что-то другое.

import java.util.Random; 


public class random { 
public static void main(String[] args){ 
String word1=generateWord(); 

String word2=generateWord(); 

String word3=generateWord(); 

System.out.print(word1+"\n"+word2+"\n"+word3+"\n"); 

String allThreeWithTheFirstLetterCapital=putThemTogether(word1,word2,word3); 

System.out.print(allThreeWithTheFirstLetterCapital); 
} 
    public static String generateWord(){ 
     Random r=new Random(); 
     StringBuilder sb=new StringBuilder(); 
     sb.append((char)(65+r.nextInt(25))); 
     for(int i=0;i<9;i++){ 
     sb.append((char)(97+r.nextInt(25))); 
    } 
    return sb.toString(); 

} 
public static String putThemTogether(String...strings){ 
    StringBuilder sb=new StringBuilder(strings[0]); 
    for(int i=1;i<strings.length;i++){ 
     sb.append(strings[i].toLowerCase()); 
    } 
    return sb.toString();} 
} 

это он

import java.awt.BorderLayout; 
    import java.awt.Color; 
    import java.awt.Dimension; 
    import java.awt.Font; 
    import java.awt.GridBagLayout; 
    import java.awt.Toolkit; 

    import javax.swing.JFrame; 
    import javax.swing.JLabel; 
    import javax.swing.JOptionPane; 
    import javax.swing.JPanel; 


    public class weirdMath { 

     public static void main(String[] args){ 
      double number1=Double.parseDouble(JOptionPane.showInputDialog("input a first number")); 
      double number2=Double.parseDouble(JOptionPane.showInputDialog("input a second number")); 
      String operation=JOptionPane.showInputDialog("input an operation (+-/*)"); 
      number1*=2;number2*=2; 
      double result=0; 
      if(operation.equals("+")){result=number1+number2;} 
      else if(operation.equals("-")){result=number1-number2;} 
      else if(operation.equals("/")){result=number1/number2;} 
      else if(operation.equals("*")){result=number1*number2;} 
      JFrame jf=new JFrame("your answer"); 
      jf.setSize(300,75); 
      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
      int width = (int)screenSize.getWidth(); 
      int height = (int)screenSize.getHeight(); 
      jf.setLocation((int)(width/4.5), (int)(height/3.5)); 
      JLabel jlmessagepart1=new JLabel("  taking your two numbers times 2"); 
      JLabel jlmessagepart2=new JLabel("then performing your operation you get..."); 
      JLabel jlresult=new JLabel(""+result); 
      jlresult.setFont(new Font(null, Font.BOLD, 20)); 
      jlresult.setForeground(Color.blue); 
      jf.setLayout(new BorderLayout()); 
      jf.add(jlmessagepart1,BorderLayout.NORTH); 
      jf.add(jlmessagepart2,BorderLayout.CENTER); 
      jf.add(jlresult,BorderLayout.SOUTH); 
      jf.setVisible(true); 


     } 
    } 
+0

Благодарим за помощь. У меня есть другое задание, которое я не могу закончить. В нем говорится: создайте программу, которая попросит пользователя ввести два числа и операцию (+, -, /, *). Оба введенных числа сначала умножаются на 2, а затем выполняют операцию с введенными числами, полученными после умножения. Примечание. Используйте «Использовать» и статические методы. –

+0

делает ли кто-нибудь, кто выполняет эти задания, то, что я даю вам код? –

+0

здесь, если вы используете этот код, я думаю, ваш учитель узнает, что вы обманули, так что получите idea.use Scanner (Sytem.in); –

0

Я предполагаю, что он находится на Java (вероятно, такой же для C?).

Посмотрите на таблицу Ascii (http://www.asciitable.com/)

За 1-й прописной буквы, генерировать Integer между 65-90, а затем сделать его характера. Для нижнего регистра сгенерируйте целое число между 97-122 и затем перейдите к символу. Объедините символы, чтобы сделать слово.

0

Здесь:

импорт javax.swing.JOptionPane;

общественного класса Main {

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    new Main(); 
} 
public Main() { 
    double number1 = Double.parseDouble(JOptionPane.showInputDialog("Input first numnber:")); 
    double number2 = Double.parseDouble(JOptionPane.showInputDialog("Input second number:")); 
    String operation = JOptionPane.showInputDialog("Input operation +,-,/,*"); 
    JOptionPane.showMessageDialog(null, number1*2); 
    JOptionPane.showMessageDialog(null, number2*2); 
    double result = 0; 
    if (operation.equals("+")) { 
     result = number1+number2; 
    } else if (operation.equals("-")) { 
     result = number1-number2; 
    } else if (operation.equals("/")) { 
     result = number1/number2; 
    } else if (operation.equals("*")) { 
     result = number1*number2; 
    } 

}}

+0

Вы отлично потрудились, что код в порядке, просто используйте if и else, если вместо переключения на Strings это новое для java и требует более новой java. –

+0

ой, и я подумал, что вам нужно умножить a и b на 2 перед операцией, поэтому System.out.println (a * 2 + b * 2); –

+0

Я сделал это, как вы сказали мне, если и так, если, но теперь он не проходит через операции +, -, /, *. Я хочу, чтобы он выполнил операцию ввода, но с цифрами, полученными после умножения на 2. –

Смежные вопросы