【问题标题】:Generating random words in NetBeans IDE? [closed]在 NetBeans IDE 中生成随机词? [关闭]
【发布时间】:2014-12-09 18:51:04
【问题描述】:

我想问一下如何制作一个程序,它应该生成三个长度为 10 个字符的单词,第一个字母大写,然后这三个单词应该合并,以便只有第一个字母是大写的。有一条注释说要将第一个字母设为大写,您应该使用 toLowerCase ,然后使用子字符串增加第一个字母。

【问题讨论】:

标签: java netbeans


【解决方案1】:

这感觉有点愚蠢,但我做到了。如果这些话必须是真实的,那么你将需要其他东西。

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);


      }
    }

【讨论】:

  • 感谢您的帮助。我还有一个任务无法完成。它说:编写一个程序,要求用户输入两个数字和一个操作(+、-、/、*)。两个输入的数字都先乘以 2,然后再用相乘后的输入数字进行运算。注意:使用 If 和静态方法。
  • 你做这些任务的人是否关心我给你的代码?
  • 这里如果你使用这个代码,我想你的老师会知道你被骗了,所以明白这一点。使用 Scanner(Sytem.in);
  • 这对我来说太复杂了。我发布了未完成的任务。
【解决方案2】:

我假设它是在 Java 中的(可能与 C 相同?)。

查看 Ascii 表 (http://www.asciitable.com/)

对于第一个大写字母,生成一个介于 65-90 之间的整数,然后将其变为字符。对于小写,生成一个 97-122 之间的整数,然后将其转换为字符。将字符合并成一个单词。

【讨论】:

    【解决方案3】:

    这里是:

    导入 javax.swing.JOptionPane;

    公共类主{

    /**
     * @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;
      }
    

    } }

    【讨论】:

    • 你做得很好,代码很好,只需使用 if 和 else if 而不是开关打开 Strings 对 java 来说是新的,需要更新的 java。
    • 哦,我以为你需要在操作之前将 a 和 b 乘以 2 所以 System.out.println(a*2+b*2);
    • 我按照你告诉我的方式做了,使用 if 和 else if 但现在它不经过 +、-、/、* 操作。我希望它执行输入操作,但使用乘以 2 后获得的数字。
    • 没关系,我做到了。我忘了写 System.out.println("结果是:" + result);谢谢您的帮助。 :)
    • 没问题希望你在课堂​​上取得好成绩。祝你好运。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    相关资源
    最近更新 更多