0
У меня проблема с программой, которую я компилирую. я получил отображение фактического расчета по функции 2. Основная программа называется display11, и я вызываю функции на другом классе. не может понять, что неправильно, что не отображает цикл. спасибоОтображение вычисления функции
import java.util.Scanner;
/**
*
* @author ec1302696
*/
public class Functions
{
private int n;
public void string_function(String name)
{
int optionChosen;
String fname;
String sname;
Scanner keyboard = new Scanner(System.in);
Scanner sc = new Scanner(System.in);
Functions fun = new Functions();
System.out.println("Please enter full name");
fname = sc.nextLine(); //accept first name entered by user
//****enter as a comment for now fun.first(fname);
fun.createname(fname);// this create name
//display this is option 1,administrator name admin
//ask for full name for generating username
//call createname passing the username
}
public void number_function(String admin)
{
{
int n, c, fact = 1;
System.out.println("Enter a number to calculate it's factorial");
Scanner in = new Scanner(System.in);
n = in.nextInt();
if (n < 0)
System.out.println("Number should be non-negative.");
else
{
for (c = 1 ; c <= n ; c++)
fact = fact*c;
System.out.println("Factorial of "+n+" is = "+fact);
}
// return fact;
//this is option 2 ,administrator name admin
//read the factorial
//calcualte the fatorial
// print it
}
}
public void createname(String username)
{
String fname = fname.substring(0,1);
System.out.println("The usernameis " + fname);
//string calcualte the string function to find the first letter ,and second name.
//concatenate and print it.
}
}
import java.util.Scanner;
/**
*
* @author ec1302696
*/
public class Display11 {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
Functions fun = new Functions();// this create teh functions
int optionChosen;
String admin;
Scanner keyboard = new Scanner(System.in);
Scanner sc = new Scanner(System.in);
System.out.println("Please enter your name");
admin = keyboard.nextLine();
{
System.out.println("Welcome please select option from menu below");
}
System.out.println("OPTION 1 – USERNAME");
System.out.println("OPTION 2 - CALCULATE THE FACTORIAL");
System.out.println("OPTION 3 - EXIT");
optionChosen = keyboard.nextInt();
if (optionChosen == 1)
{
fun.string_function(admin);
}
else if (optionChosen == 2) {
{
fun.number_function(admin);
}
}
else if (optionChosen == 3)
{
}
}
}
Вы должны изменить «Строка имя_файла = fname.substring (0,1);» на "String fname = username.substring (0,1);", но кроме этого - чего вы ожидаете, что этого не произойдет? Я запустил ваш код и, похоже, работал (после упомянутого изменения). –
Спасибо. Единственная проблема, с которой я столкнулся, - это факторный номер. Ответ правильный, но я должен был отобразить расчет, а также. Запустите его, когда я вернусь домой и посмотрю, работает ли он нормально. – DanPhelps
Хорошо, см. Ниже мое предложение о том, как распечатать расчет вместе с результатом. –