我目前正在大学学习第一个编程课程,到目前为止,我一直非常了解如何编写基本的东西。这个最新的作业让我感到困惑和难过。
我的任务是:
- 接受来自用户的数字输入(整数值)
- 打印输入数字的正方形和立方体。
- 确保该号码为> 0.
- 重复以上三次。
- 如果输入的数字是< = 0,则结束程序,告诉用户原因。
醇>
我的问题是我不确定如何为此设置变量以及如何添加循环以重复该过程3次。
这是我到目前为止所有这一切,不知道从哪里开始,任何帮助将不胜感激。谢谢
MyApp
答案 0 :(得分:1)
我可以在这里发布答案,但那不会帮助你学习:)
首先,考虑使用Scanner
来获取您的输入。使用BufferedReader
会将输入数据读为String
。可以使用String
将int
转换为Integer.parseInt()
,但使用Scanner.nextInt()
会更方便。
其次,关于循环:
由于你想循环3次,以下形式的循环似乎是合适的:
for (int i=0; i<3; i++) {
//read input, calculate square & cube
}
在循环内部,您要检查无效条目(数字&lt; = 0),如果是,请使用break
提前跳出循环并结束程序。
答案 1 :(得分:0)
抱歉格式不好..我在网站上试了很久才把它修好......
package com.ispecsoft.porkypig;
import java.io.*;
public class Assignment3 // class name here, same as file name
{
public Assignment3() throws Exception
{
}
public static void DoIt()
{
try
{
int xIn = 0;
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
for (int x = 0; x < 3; x++)
{
System.out.print("Enter a number: ");
xIn = Integer.parseInt(input.readLine());
int iSquare = xIn * xIn;
int iCube = iSquare * xIn;
System.out.println(x == 0 ? " Your number squared is ("+ iSquare + ") your number cubed is (" + iCube: ") Your number squared is (" + iSquare+ ") your number cubed is (" + iCube + ")");
}
}
catch (NumberFormatException e)
{
System.out.print("The character's you entered are not integers.. this application will now close. ");
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
System.out.print("There was an IOException.. this application will now close. ");
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception
{
Assignment3.DoIt();
}
}