我想知道是否可以使用基本的 Java 知识检测和/或停止无限循环。
我有一个学校任务(认为我们的编程知识处于基本水平),我们应该从用户那里获取输入(int),然后获取该数字的数字的平方和(即 123-->1^2+ 2^2+3^2)。然后该结果应该放在一个while循环中,它应该重复同样的事情,直到达到1(即123-->1^2+2^2+3^2=14-->1^2+4^2 =17-->1^2+7^2 等)
如果我们得到数字 1,我们应该打印“数字是幸运的!” 如果不是,它将陷入无限循环,我们应该打印“数字不幸运!”。
现在困扰我的是,如果它陷入无限循环,他们如何期望我们打印“数字不幸运”?
是否可能是编写和设计不佳的任务/问题,或者实际上有一种基本级别的知识方法来检测和停止无限循环?
这是我的代码(没有无限循环检测):
import java.util.Scanner;
public class Vezba {
public static void main(String[] args) {
boolean run = true;
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
int digits;
int sum=0;
int k = 10;
int j = 1;
while(run){
if(number<0){
run=false;
}
int len = String.valueOf(number).length();
/* Takes out each digit to make the first sum (probably redundant but please ignore)*/
while(len>0){
digits = number%k/j;
j*=10;
k*=10; …Run Code Online (Sandbox Code Playgroud) 在设置MySQL时我遇到了十几个令人头疼的问题,但没有什么比这个更令人痛苦.我一直在试图安装phpMyAdmin,并遵循各种教程(他们几乎都说了同样的话),但如果出现问题,它可能会出错.
当试图打开设置向导(从浏览器)转到localhost/phpmyadmin/setup/index.php(下面的教程中的步骤4.尝试调用设置向导时的部分)我得到"网页不可用"的东西.现在当我在浏览器中键入localhost /时,我得到了"It Works!" 页.
我已经按照教程中的步骤进行了操作,直到第4步.还安装了Apache和MySQL及其参考教程(工作没有任何问题)
从我所得到的,我认为apache设置正确,因为它显示"它工作!" 页面,但不知何故它无法访问路径的其余部分phpmyadmin/setup/index.php
我做错了什么?
我遵循的教程:
您可能需要的一些基本信息:
/usr/local/apache2/htdocs/phpmyadmin)我已经开始学习如何使用Java连接MySQL数据库.因为我是初学者,所以我一直在寻找最基本的指南,并找到了这个.它看起来很容易,非常容易理解和有帮助.
但是,当我运行该代码时,它显示错误,表格为空.:(
码:
import java.sql.*;
import java.util.Calendar;
public class DatabaseClass {
public static void main(String args[]){
try{
String myDriver = "org.gjt.mm.mysql.Driver";
String myUrl = "jdbc:mysql://localhost/test";
Class.forName(myDriver);
Connection conn = DriverManager.getConnection(myUrl, "root", "admin");
Calendar calen = Calendar.getInstance();
java.sql.Date startDate = new java.sql.Date(calen.getTime().getTime());
String query = "insert into users (first_name, last_name, date_created, is_admin, num_points)"
+ " values(?,?,?,?,?)";
PreparedStatement preparedStmt = conn.prepareStatement(query);
preparedStmt.setString(1, "Name");
preparedStmt.setString(2, "LName");
preparedStmt.setDate(3, startDate);
preparedStmt.setBoolean(4, false);
preparedStmt.setInt(5, 5000);
preparedStmt.execute();
conn.close();
}catch(Exception e){
System.err.println("Got an exception!");
System.err.println(e.getMessage());
} …Run Code Online (Sandbox Code Playgroud)