2016-04-13 2 views
0

Для класса, который я принимаю Я пытаюсь создать программу, которая создает таблицу значений sin(), cos() и tan() для углов от 0 до 180 градусов с шагом 5 градусов.Начальная основная таблица триггеров с шагом 5 градусов

! http://i65.tinypic.com/14ahliq.jpg

До сих пор у меня есть следующий код, который создает введение и первые две строки таблицы, но я не могу понять, как заставить его повторить.

import java.util.*; 

public class Angles { 

    public static void main(String[] args) { 
     Scanner console = new Scanner(System.in); 

     System.out.println("This program computes the"); 
     System.out.println("sin(), cos(), and tan() values"); 
     System.out.println("for angles from 0 to 180 degrees"); 
     System.out.println("in steps of 5 degrees."); 

     System.out.println(""); 

     System.out.println("Angle\tSin()\tCos()\tTan()"); 
     double Anglex = 0; 
     for(double i = 5;i <= Anglex;i += 5) { 
      Anglex = 0 + i; 
     } 
     double Sinx = Math.sin(Math.toRadians(Anglex)); 
     double Cosx = Math.cos(Math.toRadians(Anglex)); 
     double Tanx = Math.tan(Math.toRadians(Anglex)); 

     System.out.println(Anglex + "\t" + Sinx + "\t" + Cosx + "\t" + Tanx); 
    } 
} 

ответ

2

Залить свой for цикл для

for (double Anglex = 0; Anglex <= 180; Anglex += 5){

Примечание также открывающую фигурную скобку вложить несколько последующих операторов. Не забудьте сбалансировать его с закрытием }; вероятно, после вызова println.

Использование индекса double в качестве индекса цикла не для всех (вы можете попасть в проблему, если не используете целые числа), но в этом случае это нормально, особенно если вы используете <= в качестве остановки состояние.

Запуск имен переменных с буквой в верхнем регистре также должен быть обескуражен на Java, поскольку он нетрадиционный.

+0

Благодарим вас, переделав цикл for и добавив {} помог, и теперь мой код работает, и спасибо за советы по использованию double в качестве индекса цикла и букв верхнего регистра для имен переменных! Я совершенно новичок в программировании, поэтому вы очень помогли :) – Sc0426

0
for(double i = 5;i <= Anglex;i += 5) { 
    Anglex = 0 + i; 
    double Sinx = Math.sin(Math.toRadians(Anglex)); 
    double Cosx = Math.cos(Math.toRadians(Anglex)); 
    double Tanx = Math.tan(Math.toRadians(Anglex)); 
} 

Enclose сказанное выше в а {и}. Цикл for применяется только для первого оператора в вашем коде.

0

Ваш цикл for применяется только к линии Anglex = 0 + i.

Добавить {} на весь раздел, который необходимо повторить.

0
public static void main(String[] args) { 

    System.out.println("This program computes the"); 
    System.out.println("sin(), cos(), and tan() values"); 
    System.out.println("for angles from 0 to 180 degrees"); 
    System.out.println("in steps of 5 degrees."); 

    System.out.println(""); 

    System.out.println("Angle\tSin()\tCos()\tTan()"); 
    double maxAngleX = 180.0; 
    for (double angleX = 5; angleX <= maxAngleX; angleX += 5) { 

     double Sinx = Math.sin(Math.toRadians(angleX)); 
     double Cosx = Math.cos(Math.toRadians(angleX)); 
     double Tanx = Math.tan(Math.toRadians(angleX)); 

     System.out.println(angleX + "\t" + Sinx + "\t" + Cosx + "\t" + Tanx); 

    } 
} 
3

Не похоже, что вы предлагаете людям на форумах решать ваши задания. В противном случае, некоторые проблемы с вашей маленькой программой (не тестировались, пожалуйста, сделайте это сами).

  1. anglex должна начинаться 0 и остановиться на 180. Итак, for(int anglex=0; anglex<=180; anglex+=5). Используйте anglex вместо i, внутри петли.
  2. расчеты для sinx, cosx, tanx и печать новой линии должна быть внутри колышков {}. Поскольку ваш код прямо сейчас, единственное, что внутри цикла - это приращение anglex.

Извините, что не предоставили полное решение, и вы наверняка сможете это сделать.

+0

Спасибо, что ответили, я не просил никого решить мое задание для меня просто, чтобы посоветовать мне, что я делаю неправильно. Я иду в школу, чтобы научить математике K-8, поэтому я не уверен, почему этот класс является требованием, и у меня нет предыдущего опыта программирования в Java.Я написал весь код, который у меня есть до сих пор, который может показаться легким людям, которые знают, что они делают, но я сам этого не делаю. – Sc0426

+0

ОК, понял. Дело в том, что «совет» для исправления кода полностью разрешил ваше задание. Извините, что вам нужен этот класс для вашей учебной работы по математике k-8, я согласен, что это не имеет большого смысла. –

Смежные вопросы