我有一份学校作业,我被要求编写一个程序
在对话框窗口中显示一个图形(男孩,女孩或火箭)
根据用户的选择。
虽然我设法这样做,但有一件事我无法解决。
在分配中,用户将能够选择如何
火箭的长度将通过键入数字来实现。
根据这个数字,我创建的两种方法将重复
本身使火箭的长度扩大。但我无法想出任何东西
这样做。
我一直在阅读各种教程(如果,等等),但我的经验有限 Java让我失败了。有什么想法怎么办?
import static javax.swing.JOptionPane.* ;
public class Figurer
{
public static void main (String [] arg)
{
String hälsning, indata ;
char svar ;
hälsning ="Hej!\n"
+ "Detta program skriver ut en figur\n"
+ "som du väljer i nästa fönster." ;
showMessageDialog (null, hälsning) ;
do
{
indata = showInputDialog ("Välj mellan följande figurer:\n"
+ "Pojke\n"
+ "Flicka\n"
+ "Raket") ;
switch(indata) {
case "Pojke" :
case "pojke" :
String showBoy = figureBoy () ;
showMessageDialog (null, showBoy) ;
break;
case "Flicka" :
case "flicka" :
String showGirl = figureGirl () ;
showMessageDialog (null, showGirl) ;
break;
case "Raket" :
case "raket" :
String showRocket = figureRocket () ;
showMessageDialog (null, showRocket) ;
break;
}
indata = showInputDialog ("Vill du se en till figur? (j/n) ") ; // Repetionssats för fler beräkningar
svar = indata.charAt(0);
}
while (svar == 'j' || svar == 'J') ;
}
//METOD: figureBoy
//INNEHÅLL: Argument för ihopsättande av figur föreställande en pojke
//ARGUMENT: boy, part_huvud (), part_base (), part_body () och part_cone ()
//RETURNERAS: Sammanställningen av argumenten till variabel showBoy
public static String figureBoy ()
{
String boy = part_huvud () ;
boy = boy + "\n" + part_base () + "\n" + part_body () + "\n"
+ part_base () + "\n" + part_cone () ;
return boy;
}
//METOD: figureGirl
//INNEHÅLL: Argument för ihopsättande av figur föreställande en flicka
//ARGUMENT: girl, part_cone () och part_base ()
//RETURNERAS: Sammanställningen av argumenten till variabel showGirl
public static String figureGirl ()
{
String girl = part_huvud () ;
girl = girl + "\n" + part_cone () + "\n" + part_base () + "\n"
+ part_cone () ;
return girl;
}
//METOD: figureRocket
//INNEHÅLL: Argument för ihopsättande av figur föreställande en raket
//ARGUMENT: rocket, part_base (), part_body () och part_cone
//RETURNERAS: Sammanställningen av argumenten till variabel showRocket
public static String figureRocket ()
{
}
//METOD: part_huvud
//INNEHÅLL: Argument med tecken som föreställer ett huvud
//ARGUMENT: Variabeln hu och sträng med tecken som formar huvudet
//RETURNERAS: Innehållet i variabeln hu som skickas till metoden figureBoy, figureGirl och figureRocket
public static String part_huvud ()
{
String hu ;
hu = " / \\ \n"
+ " |@,@| \n"
+ " \\ v /" ;
return hu;
//METOD: part_base
//INNEHÅLL: Argument med tecken som föreställer ett tjockare streck
//ARGUMENT: Variabeln ba och sträng med tecken som formar strecket
//RETURNERAS: Innehållet i variabeln ba som skickas till metoden figureBoy, figureGirl och figureRocket
}
public static String part_base ()
{
String ba ;
ba = "=====" ;
return ba ;
//METOD: part_body
//INNEHÅLL: Argument med tecken som föreställer två paralella linjer
//ARGUMENT: Variabeln ba och sträng med tecken som formar linjerna
//RETURNERAS: Innehållet i variabeln bo som skickas till metoden figureBoy, figureGirl och figureRocket
}
public static String part_body ()
{
String bo ;
bo = "| |\n"
+"| |\n"
+"| |" ;
return bo ;
//METOD: part_cone
//INNEHÅLL: Argument med tecken som föreställer en kona
//ARGUMENT: Variabeln ba och sträng med tecken som formar konan
//RETURNERAS: Innehållet i variabeln co som skickas till metoden figureBoy, figureGirl och figureRocket
}
public static String part_cone ()
{
String co ;
co = " /\\\n"
+" / \\ \n"
+" / \\ " ;
return co ;
}
}
答案 0 :(得分:0)
不会回答并编写所有代码,但这里有一些方向。
首先,当涉及到字符串时,您可以更改为小写以进行不区分大小写的比较:
indata = indata.toLowerCase();
通过这种方式,您不需要将所有案件翻倍,即使他们意外地将第二个字母大写,您也会匹配。如果您需要做等于而不是切换,请执行以下操作:
indata.equalsIgnoreCase("some value");
甚至更好,避免null:
"someotherstring".equalsIgnoreCase(indata);
其次,您可以在循环期间构建任意长度的字符串,就像在循环中添加数字一样。但要完成此任务,请使用StringBuilder对象:
StringBuilder rocketBody = new StringBuilder();
int howmanypieces = (user input);
while (howmanypieces > 0) {
rocketBody.append(rocketBodyPart());
howmanypieces--;
}
rocketBody.toString();
答案 1 :(得分:0)
如果您有一个整数变量count
,并且想要运行一些代码count
次,请执行以下操作:
for (int i = 0; i < count; i++) {
// code
}
这样做首先创建一个名为i
的变量并将其初始化为0
,然后重复代码直到i >= count
。运行代码后,它还会将1
添加到i
。
在循环内部,您可以使用变量i
。循环第一次运行时,它将是0
。下一次它将是1
,依此类推。它永远不会等于count
。在最后一次迭代中,它将是count - 1
。